与其尝试修复您的查询,我建议您使用自定义的post类型存档来完全避开它!
打开permalinks后,您应该可以通过以下方式查看所有电影帖子的列表:
example.com/movies
然后,在主题中创建
archive-movies.php
, 它将被用来代替
archive.php/index.php
电影档案。确保使用默认循环而不是自定义循环,WordPress将负责查询中的帖子类型和分页。
要控制此存档上显示的帖子数量,可以对pre_get_posts
在主查询发生之前对其进行修改。
function john_movies_pagesize( $query ) {
// exit out if it\'s the admin or it isn\'t the main query
if ( is_admin() || ! $query->is_main_query() )
return;
// so its not admin, and its the main query, is it the movies post archive?
if ( is_post_type_archive( \'movies\' ) ) {
// it is!! Set the posts_per_page to 6
$query->set( \'posts_per_page\', 6 );
return;
}
}
add_action( \'pre_get_posts\', \'john_movies_pagesize\', 1 );