自定义帖子类型导航上的导航

时间:2014-03-25 15:22:11

标签: php wordpress

我有一个名为The Standard(标准版)的自定义帖子类型。我正在尝试构建一个每页最多12个帖子的存档页面。我很难让导航/分页显示出来。

<section class='no-padding-top border-bottom triple-margin-bottom triple-padding-bottom'>
 <div class='container'>
  <div class='row'>
   <div class='col-md-1'></div>
   <div class='col-md-10 text-center'>
    <?php
     $args = array(
      'post_type' => 'the-standard',
      'orderby' => 'asc',
      'posts_per_page' => 12,
      'paged' => $paged,
      );
       $issues = new WP_Query( $args );
       if( $issues->have_posts() ) {
        while( $issues->have_posts() ) {
         $issues->the_post();
      ?>
      <p><?php the_date();?><br />
      <a href="<?php the_permalink(); ?>"><span class='no-margin bold-font-name'><?php the_title (); ?></span> - <?php the_field('page-subheader'); ?></a>              
      </p>
      <?php
          }
        }
        else {
          echo 'Nothing to see here. Keep moving.';
        }
      ?>
      <p class='pull-left'><?php previous_posts_link('Next'); ?></p>
      <p class='pull-right'><?php next_posts_link('Previous'); ?></p>
    </div>
    </div class="col-md-1"></div>
  </div>
 </div>
</section>

1 个答案:

答案 0 :(得分:0)

试试这个:

function modify_cpt_archive($query) {
    if ( $query->is_main_query() && !is_admin() && is_post_type_archive('the-standard')) {
        $query->set('post_type', 'the-standard');
        $query->set('order', 'ASC');
        $query->set('posts_per_page', '12');
    }
    return $query;
}
add_action('pre_get_posts', 'modify_cpt_archive');

将此添加到主题(或子主题)functions.php文件中。

此函数使用pre_get_posts挂钩,该挂钩在创建查询对象之后但在运行实际查询之前调用它,允许您修改默认查询。条件语句确保它仅影响前端自定义帖子类型存档页面(否则它将影响所有默认查询),然后修改所需的查询参数并返回更新的查询对象。