因此,我的主页上有一个自定义循环:
function homepage_loop(){
$custom_loop_args = array( \'post_type\' => array( \'post\', \'review\', \'video\', \'feature\' ) );
$custom_loop_args[\'paged\'] = get_query_var( \'paged\' ) ? get_query_var( \'paged\' ) : 1;
$loop = new WP_Query( $custom_loop_args );
// Pagination fix
$wp_query = NULL;
$temp_query = $wp_query;
$wp_query = $loop;
// Output custom query loop
if ( $loop->have_posts() ) :
while ( $loop->have_posts() ) :
$loop->the_post();
default_loop();
endwhile;
endif;
// Reset postdata
wp_reset_postdata();
// Custom query loop pagination
previous_posts_link( \'Older Posts\' );
next_posts_link( \'Newer Posts\', $loop->max_num_pages );
// Reset main query object
$wp_query = NULL;
$wp_query = $temp_query;
}
?>
分页最初对此不起作用,直到我将以下代码添加到我的函数中。php文件(可在此网站上的一个单独问题的答案中找到):
function my_post_count_queries( $query ) {
if (!is_admin() && $query->is_main_query()){
if(is_home()){
$query->set(\'posts_per_page\', 1);
}
}
}
add_action( \'pre_get_posts\', \'my_post_count_queries\' );
在我的本地版本(使用Wamp运行)上,分页工作正常。
然而,在我的live版本(完全相同的代码,完全相同的permalink结构)中,当我尝试点击第二页(/页/2/)时,我得到了404页。
你可以在我的现场网站上看到-http://sevenoutoften.co.uk/page/2/
我已尝试重新保存永久链接结构(无更改),清除缓存(无更改)。我读过几篇文章说,如果你有一个与自定义帖子类型同名的页面slug,你也可能会遇到问题,但我不确定如何检查这个问题?我没有与任何自定义帖子类型同名的自定义分类法、类别或页面。
几个小时来我一直在寻找解决方案,但基本上我的头撞到了砖墙上。有什么想法吗?谢谢你的帮助!