自定义 post 类型存档页面中的分页错误

Pagination fault in custom post type archive page

我创建广告自定义 post 类型 register_post_type( 'videos', $args); 和自定义分类 register_taxonomy( 'video_category_categorie', 'videos', $args ); 每页最多 post 显示 2 个。通过 word press 后端 存档视频中。 php 我写了用于显示来自特定分类的 post(分类项 ID 为 3)$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

$args = array( 'post_type' => 'videos','paged' => $paged,'tax_query' => array(
    array(
    'taxonomy' => 'video_category_categorie',
    'field' => 'term_id',
    'terms' => 3)
));

$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
echo get_the_title().'<br>';
endwhile;
twentyfourteen_paging_nav();

现在我得到了正确的结果,只显示了来自分类 id 3 的 pst。 但是分页不正确。它显示 1 2 3 4 。实际上有 5 post 在分类 id 3 中。所以正确的分页是 1 2 3 .

而且当点击第 4 个页面时页面没有显示任何 post 名称。

请帮忙

如果您查看 the source for twentyfourteen_paging_nav(),您会发现它作用于 $GLOBALS['wp_query'],而不是作用于您的自定义循环查询。

如果您想继续使用 twentyfourteen_paging_nav(),您需要使用标准循环,并修改 query_posts 以更改全局 wp_query 对象而不是您的 $loop ,它是 WP_Query.

的单独实例

在您的情况下,这意味着更改行:

$loop = new WP_Query( $args );

至:

query_posts ( $args );

并从其余代码中删除 $loop->

如果您出于任何原因不能这样做,您需要切换到另一个 Wordpress pagination function