Php 下一篇和上一篇文章链接使用相同的术语自定义分类法

Php 下一篇和上一篇文章链接使用相同的术语自定义分类法,php,wordpress,custom-post-type,taxonomy,Php,Wordpress,Custom Post Type,Taxonomy,我在我的custom post=>blog中创建了一个custom taxonomy=>cat blog,cat blog有4个术语,每个术语都有属于该术语的帖子列表 术语示例: -城市更新(4次发布属于) -主页提示(6帖子属于) -房地产指南(8 post-property) -房地产行业(9岗位归属) 并使用此查询 <?php $query = new WP_Query(array('posts_per_page' => 2, 'post_type' => 'b

我在我的
custom post=>blog
中创建了一个
custom taxonomy=>cat blog
cat blog
有4个
术语
,每个
术语
都有属于该
术语的帖子列表

术语示例:

-城市更新(
4次发布属于

-主页提示(
6帖子属于

-房地产指南(
8 post-property

-房地产行业(
9岗位归属

并使用此查询

<?php
     $query = new WP_Query(array('posts_per_page' => 2, 'post_type' => 'blog', 'blog-cat' => get_the_term_list( $post->ID, 'blog-cat' )));
     while ($query->have_posts()) : $query->the_post();
     ?>

   <?php 
// content here
?>

    <?php endwhile; ?>
    <?php wp_reset_query(); ?>
 <?php

 ?>

要在同一类别中显示两篇文章,
我只想把
下一个
上一个
分页,这样我就可以浏览文章的其余部分,属于
术语

永远不要更改存档页面和主页上自定义查询的主查询。主查询已经执行了您想要执行的操作。尝试运行自定义查询以获得相同的结果就像重新发明轮子一样。它还会导致分页问题

解决方案

  • 首先,删除自定义查询,然后返回主循环。下面是您在taxonomy.php中所需的全部内容

    if( have_posts() ) {
       while( have_posts() ) {
         the_post();
    
         //REST OF YOUR LOOP
    
       }
    }
    
  • 如果需要更改主查询,请与结合使用。例如,如果在分类法页面上每页需要2篇文章,请在functions.php中执行以下操作

    function so26499451_custom_ppp( $query ) {
        if ( !is_admin() && $query->is_tax() && $query->is_main_query() ) {
            $query->set( 'posts_per_page', '2' );
        }
    }
    add_action( 'pre_get_posts', 'so26499451_custom_ppp' );
    

现在可以正常分页,没有任何问题。现在,您将在taxonomy.php的每页上看到您单击的特定术语的两篇文章

这是在页面模板上吗?是的。。。上面的WP_查询用于按类别显示帖子,我将代码放入
taxonomy.php