首页 文章

在Taxonomy.php / Taxonomy页面中添加和分隔自定义帖子类型

提问于
浏览
0

我有一个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')

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

  • 分类页面 -

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

循环自定义类型的帖子2

循环自定义类型的帖子3

  • 如果有多个循环,这会影响分页吗?或者分页只适用于帖子?

我在taxonomy.php页面中使用了很多单循环无济于事 . 我觉得我必须将当前的分类术语变量与新变量相呼应:

$ term = $ wp_taxonomies ??

在taxonomy.php页面中有多个循环的方法吗?

1 回答

  • 0

    可能最简单的方法是忽略现有的 $wp_query 并在分类模板中创建三个新查询 . 因此,不需要挂钩 pre_get_posts 过滤器,只需为您创建自定义查询 .

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

相关问题