このリンクをたどり、ページネーションを使用して独自のカスタムクエリを作成しました..しかし、オフセットがどのように機能するかがよくわかりません 。
ページネーションがうまくいきません。オフセットの値がゼロになっています。
function spiciest(){
global $wpdb, $paged, $max_num_pages;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$post_per_page = intval(get_query_var('posts_per_page')); //6
$offset = ($paged - 1)*$post_per_page;
/* Custom sql here. I left out the important bits and deleted the body
as it will be specific when you have your own. */
$sql = "
SELECT DISTINCT * FROM $wpdb->posts
INNER JOIN (SELECT *, SUBSTRING(name, 6) as 'post_ID',
votes_up AS votes_balance,
votes_up + votes_down AS votes_total
FROM thumbsup_items) AS thumbsup
ON $wpdb->posts.ID = thumbsup.post_ID
WHERE $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_type = 'post'
AND $wpdb->posts.post_password = ''
ORDER BY votes_up DESC, votes_balance DESC
LIMIT ".$offset.", ".$post_per_page."; ";
$sql_result = $wpdb->get_results( $sql, OBJECT);
/* Determine the total of results found to calculate the max_num_pages
for next_posts_link navigation */
$sql_posts_total = $wpdb->get_var( "SELECT FOUND_ROWS();" );
$max_num_pages = ceil($sql_posts_total / $post_per_page);
print_r("offset ". $offset."\n") ;
print_r("\n"."sql_posts_total ". $sql_posts_total."\n") ;
print_r("\n"."max_num_pages ". $max_num_pages."\n") ;
return $sql_result;
}
ライブで見てください..私はvluesを印刷しました.. http://goo.gl/fZTck 合計39のエントリを持つ7ページを持っているはずです。