Category y.php中的分页不起作用

时间:2020-03-11 作者:Gene Ellis

Original Url: https://www.something.com/category/ftm-atf/

在中添加分页时,将生成以下url,结果为404:

Paginated Url: https://www.something.com/category/ftm-atf/page/2/

代码位于category.php 如下所示:

<?php
$category = get_category( get_query_var( \'cat\' ) );
query_posts(array( 
\'post_type\' => \'video\',
\'showposts\' => 6,
\'post_status\' => \'publish\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'category\',
\'field\' => \'term_id\',
\'terms\' => array($category->term_id)
)
)
));
?>
<?php while (have_posts()) : the_post(); ?> 

...

<?php endwhile;?>

paginate_links(array(\'total\'=> $wp_query->max_num_pages));
我尝试了各种各样的解决方案,但都无济于事,所以我觉得有些基本的东西被遗漏了。基本上,我所需要做的就是限制每页6篇文章,并允许简单分页。

非常感谢你!

1 个回复
SO网友:Michael

如果您的目标是将类别存档限制为您的post\\u类型的“视频”和每页6篇文章,请不要编辑类别。php,而是使用“pre\\u get\\u posts”https://developer.wordpress.org/reference/hooks/pre_get_posts/

案例的示例代码:

add_action( \'pre_get_posts\', \'category_post_type_video_custom\' );
function category_post_type_video_custom( $query ) {
    if ( ! is_admin() && $query->is_main_query() ) {
        // Not a query for an admin page.
        // It\'s the main query for a front end page of your site.
        if ( is_category() ) {
            // It\'s the main query for a category archive.
            // Let\'s change the query for category archives.
            $query->set( \'post_type\', array( \'video\' ) );
            $query->set( \'posts_per_page\', 6 );
        }
    }
}
实际上直接取自https://developer.wordpress.org/reference/hooks/pre_get_posts/#targeting-the-right-query

相关推荐

Bootstrap grid while loop

我用bootstrap制作了一个网格,我想在其中显示5个不同的帖子,但出于某种原因,它复制了网格,并且每个网格显示一个帖子。第一幅图显示了它如何开始将网格复制5次,而不是仅在这些列中显示5篇文章。第二张图片显示了我想如何工作。 <?php get_header(); ?> <main> <div class=\"container\"> <div class=\"row\"> <?php &