下一个和上一个帖子链接在相同的术语自定义分类

时间:2014-10-22 02:34:43

标签: php wordpress custom-post-type taxonomy

我在custom taxonomy => cat-blog中创建了custom post => blogcat-blog有4个terms,每个terms都有一个帖子列表term {1}}

条款示例:

- 城市更新(4 post belong
- 主页提示(6 post belong
- 房地产指南(8 post belong
- 房地产行业(9 post belong

并使用此查询

<?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

 ?>

在同一类别中显示2个帖子, 我只想将nextprev分页,因此我可以浏览帖子的其余部分,属于term

1 个答案:

答案 0 :(得分:1)

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

<强>解

  • 首先,删除自定义查询,然后返回主循环。以下是taxonomy.php

    中所需的全部内容
    if( have_posts() ) {
       while( have_posts() ) {
         the_post();
    
         //REST OF YOUR LOOP
    
       }
    }
    
  • 如果您需要更改主查询,请将pre_get_postsconditional tags结合使用。例如,如果您的分类页面上每页需要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上每页上单击的特定术语中的两个帖子。