添加& Taxonomy.php / Taxonomy页面中的单独自定义发布类型

时间:2010-07-31 02:26:23

标签: wordpress taxonomy

我有一个taxonomy.php文件来显示分类术语。我在functions.php中添加了一个过滤器,以包含分类页面查询的帖子类型。这个过滤器:

   add_filter( 'pre_get_posts' , 'ucc_include_custom_post_types' );
function ucc_include_custom_post_types( $query ) {
  global $wp_query;

  /* Don't break admin or preview pages. */
  if ( !is_preview() && !is_admin() && !is_page() && !is_single() ) {
    $args = array(
      'public' => true ,
      '_builtin' => false
    );
    $output = 'names';
    $operator = 'and';

    $post_types = get_post_types( $args , $output , $operator );
    $post_types = array_merge( $post_types , array( 'post' ) );

    if ($query->is_feed) {
      // Do feed processing here.
    } else {
      $my_post_type = get_query_var( 'post_type' );
      if ( empty( $my_post_type ) )
        $query->set( 'post_type' , $post_types );
    }
  }

  return $query;
}

返回您想要的所有帖子类型。但我试图找到一种方法将它们分开。我尝试使用普通循环,但我不知道如何从页面中获取当前的分类标记。

我有2个问题都是相关的,但看看最好的方法是什么。假装我有3种帖子类型('post''post2''post3')

  1. 是否有一个可以在taxonomy.php中使用的循环,它将显示特定的帖子类型?那么每个帖子类型可以有一个循环吗?因此,当我点击分类术语时,taxonomy.php将返回:
  2. - 分类标准页 -

    自定义类型帖子1的循环(在此特定帖子类型中显示当前分类标签的帖子)

    自定义类型帖子2的循环

    自定义类型帖子3的循环

    1. 如果有多个循环,这会影响分页吗?或者分页只适用于帖子?
    2. 我在taxonomy.php页面中使用了很多单循环但无济于事。我觉得我必须将当前的分类术语变量与新变量相呼应:

      $ term = $ wp_taxonomies ??

      taxonomy.php页面中的多个循环的任何方式?

1 个答案:

答案 0 :(得分:0)

可能最简单的方法是忽略现有的$wp_query并在分类模板中创建三个新查询。因此,不要在模板中启动“循环”,只需创建一个新查询并使用该循环进行循环。对其他帖子类型重复此操作。这也意味着您无需挂钩pre_get_posts过滤器,只需为您创建自定义查询。

确实,您必须考虑下一页的UI。这取决于您希望将帖子类型分开的原因。如果你在第一页上看到三个就足够了,你可以使用三个单独的“下一页”链接,每个帖子类型一个。