【发布时间】:2017-08-09 19:39:09
【问题描述】:
我正在为 WordPress 中的自定义模板创建分页,并在单击第 1 页以外的所有其他页面时不断收到 404。我能够成功地为每个页面获取分页链接,但如前所述,不断返回 404。
这是我在functions.php中调用的分页函数:
function custom_page_navi( $totalpages, $page, $end_size, $mid_size )
{
$bignum = 999999999;
if ( $totalpages <= 1 || $page > $totalpages ) return;
//NOTE: https://codex.wordpress.org/Function_Reference/paginate_links
return paginate_links( array(
'total' => $totalpages,
'prev_next' => false,
'type' => 'list',
'show_all' => false,
'end_size' => $end_size,
'mid_size' => $mid_size
) );
}
这是taxonomy-pagename.php中的代码:
<?php
$this_page_taxonomy = $wp_query->get_queried_object(); //getting this page terms
$current_slug = $this_page_taxonomy->slug; //current slug
$go_cpt = 'hope_go'; //taxonony name
$number = 1; // number of terms to display per page
// Setup for pagination:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$offset = ($paged > 0) ? $number * ($paged - 1) : 1;
$totalposts = $this_page_taxonomy->count;
$totalpages = ceil($totalposts / $number);
$hope_go_args = array(
'post_type' => $go_cpt,
'orderby' => 'meta_value',
'meta_key' => 'hope_go_series_date',
'meta_value' => $time,
'meta_compare' => '>=',
'paged' => $paged,
'order' => 'ASC',
'posts_per_page' => $number,
'hierarchical' => true,
'offset' => $offset,
'tax_query' => array(
array(
'taxonomy' => 'hope_go_series',
'field' => 'slug',
'terms' => $current_slug,
) ,
)
);
$hope_go_recent_posts = new WP_Query($hope_go_args);
if ($hope_go_recent_posts->have_posts()):
while ($hope_go_recent_posts->have_posts()):
$hope_go_recent_posts->the_post();
printf('<nav class="recent-series__pagination">%s</nav>',
custom_page_navi($totalpages, $paged, 3, 0) < ? php
//Content would go here
endwhile;
?>
<?php
else : ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?> </p>
<?php
endif;
wp_reset_postdata();
?>
我尝试了重写,但这不是问题。似乎除了第 1 页之外的所有页面都无法拉入相应的帖子。对此的任何见解将不胜感激!
【问题讨论】:
标签: php wordpress pagination