根据此帖子是否在分类档案中的其他分类中列出分类

时间:2018-05-18 作者:Chris Pink

我有两种自定义帖子类型“items”的分类法键入“和”组“。它们不是排他性的,所以一个层次分类法不起作用,尽管在某种程度上,正如您将看到的,它们是层次的。例如,我有一个组“group1”,它可能有多种类型。

我需要做的是生成一个分类页面“type1”,其中列出了所有带有“type1”的“组”。在“group1”中生成帖子列表很容易,但我不知道如何列出包含类型为“type1”的“items”的“group”。

我可以看到逻辑,但我正在努力生成代码。由于这些问题在一些代码中可以更好地解决,因此我将不断更新。

这是一个页面分类类型。php;

// First get the type
$term = get_term_by( \'slug\', get_query_var( \'term\' ), get_query_var( \'taxonomy\' ) );
$type = $term->slug;
// loop through all \'type1\' posts 
while ( have_posts() ) : the_post();
   // get all the terms for \'group\'
   $group_terms = get_terms( \'group\' );
   //print_r($group_terms);
   // loop through all the terms;
   foreach ($group_terms as $group_term) :
     // if this post in in our taxonomy list it
     if (has_term($group_term, \'group\') {
       echo"<li>".$group_term->name."</li>";
     }
   endforeach;
endwhile;
生成后跟项的术语(与分类法存档在没有我的帮助的情况下的效果非常相似!)

1 个回复
SO网友:Chris Pink

嗯,我到了那里,我的公共大脑功能让所有人都看到了,希望有人什么时候能通过这个was并发现它有用。

规范;

// First get the type
$term = get_term_by( \'slug\', get_query_var( \'term\' ), get_query_var( \'taxonomy\' ) );
$type = $term->slug;
// we need to do some comparisons, here\'s the variable
 $this_instance = "";
// loop through all \'type1\' posts 
while ( have_posts() ) : the_post();
 $group_terms = get_terms( \'group\' );
 //print_r($group_terms);
 // then loop through all terms for this post
 foreach ($group_terms as $group_term) :
   if (has_term($group_term, \'group\')) {
     $first_instance = $group_term->slug;
     // if this is the first do something
     if ($this_instance !== $first_instance) { ?>
       <li><?= $group_term->name; ?></li>
        <? $this_instance = $first_instance;
      }
    }
  endforeach;
endwhile;

结束

相关推荐

Custom archives function

我正在为我的教会网站建立一个自定义档案页面。在我的档案页上,我想把上周的布道放在一个特殊的盒子里,然后是未来的布道,最后是布道档案。我希望将来的布道和布道档案用标题隔开。。。i、 未来的布道布道档案布道档案。。。我的问题是,当我用分页功能点击按钮转到旧的布道帖子时,它会在我所在的每个归档页面上显示当前和未来的布道!如何使当前和未来的布道仅显示在第1页上,而不在单击查看旧帖子时显示?以下是我的功能:// Create the loop for the sermons page function se