3

$wpdb クラスを使用してデータベースから画像の場所を取得し、画像のギャラリーを作成したいとします。私はこのコードを持っていますが、「次へ」を押してもリンクがどこにも行かないようです。何か不足していますか?

<?php
global $wpdb;
$wpdb->show_errors();
$offset = 0;
if( isset($_GET['page']) && !empty($_GET['page']) ){
$offset =  ($_GET['page']-1) * 10; // (page 2 - 1)*10 = offset of 10
}
$pics = $wpdb->get_col("SELECT pic_thumb_url FROM wp3_bp_album 
WHERE owner_type = 'user' ORDER BY title DESC
LIMIT 10 OFFSET $offset"
);
//LIMIT shows 10 results per page
//OFFSET will 'skip' this number off results. On page 1 the offset is 0 on page 2 it is 10       (if 10 results per page)
foreach($pics as $pic) :
echo '<a href ="'. '#' .'" > <img src="' . $pic . '">' . '</a>';

endforeach; 


/*
pagination
*/
?>
<a href="/community/?page=<?php echo $_GET['page']-1 ?>">previous</a>
<a href="/community/?page=<?php echo $_GET['page']+1 ?>">next</a>

これでページネーションを実装できますか?

4

1 に答える 1

3

組み込みのページネーションは使用できませんが、ページネーションを使用するにはクエリで anOFFSETと aを使用LIMITします。したがって、独自のページネーションを作成します。

<?php
$offset = 0;
if(isset($_GET['page']) && !empty($_GET['page']) {
    $offset =  ($_GET['page']-1) * 10; // (page 2 - 1)*10 = offset of 10
}
$wpdb->get_col("SELECT pic_thumb_url FROM wp3_bp_album 
    WHERE owner_type = 'user' ORDER BY title DESC
    LIMIT 10 OFFSET $offset"
);
//LIMIT shows 10 results per page
//OFFSET will 'skip' this number off results. On page 1 the offset is 0 on page 2 it is 10 (if 10 results per page)

/*
pagination
*/
?>
<a href="/currentpage/?page=<?php echo $_GET['page']-1 ?>">previous</a>
<a href="/currentpage/?page=<?php echo $_GET['page']+1 ?>">next</a>

完璧ではありません。最初のページか最後のページかはチェックしませんが、少なくとも最初のチェックは自分で作成する必要があります。

于 2012-04-24T17:54:22.627 に答える