从目录下的文件中排除类别

时间:2013-09-18 作者:Jason Lawton

我有一个网站,我有一个类别,我使用一些后端功能。然而,当我查看该类别和其他类别中的帖子时,我不想在该帖子“归档”或“发布”或任何其名称的类别列表中看到该类别。

To make it clearer - 我有一个类别X,我用它来做主题的东西。帖子分为A、B和X三类。在帖子页面上,写着“归档在:A、B、X下”。我想说“根据:A,B归档”

我正在寻找一种从get_terms 打电话,但我不知道该怎么办。这样对吗?我原本以为这是post_meta 问题,但似乎get_terms 相关的我可以添加过滤器吗get_terms 始终排除类别?

如果重要的话,我正在使用genesis框架,这个调用发生在do_action(\'genesis_after_post_content\') 呼叫但是,如果我可以在我的函数中添加这个作为全局过滤器。php这将是最好的解决方案。

我试过上面提到的方法in this post, 但它没有起作用。

1 个回复
SO网友:Jason Lawton

我在以下位置找到了答案:this article entitled "Excluding Categories from the_category();":

function the_category_filter($thelist,$separator=\' \') {
     // list the IDs of the categories to exclude
     $exclude = array(4,5);
     // create an empty array
     $exclude2 = array();

     // loop through the excluded IDs and get their actual names
     foreach($exclude as $c) {
          // store the names in the second array
          $exclude2[] = get_cat_name($c);
     }

     // get the list of categories for the current post     
     $cats = explode($separator,$thelist);
     // create another empty array      
     $newlist = array();

     foreach($cats as $cat) {
          // remove the tags from each category
          $catname = trim(strip_tags($cat));

          // check against the excluded categories
          if(!in_array($catname,$exclude2))

          // if not in that list, add to the new array
          $newlist[] = $cat;
     }
     // return the new, shortened list
     return implode($separator,$newlist);
}

// add the filter to \'the_category\' tag
add_filter(\'the_category\',\'the_category_filter\', 10, 2);

结束

相关推荐

Order terms by term_order

Context帖子类型:资源分类法:媒体类型,术语:音频分类法:系列以下代码显示自定义分类法“系列”的唯一列表我想按term\\u顺序排列列表,但它不起作用。有什么建议吗?这个site. 目前按ID订购 <?php $post_data = array(); $my_query = new WP_Query( array( \'post_type\

从目录下的文件中排除类别 - 小码农CODE - 行之有效找到问题解决它

从目录下的文件中排除类别

时间:2013-09-18 作者:Jason Lawton

我有一个网站,我有一个类别,我使用一些后端功能。然而,当我查看该类别和其他类别中的帖子时,我不想在该帖子“归档”或“发布”或任何其名称的类别列表中看到该类别。

To make it clearer - 我有一个类别X,我用它来做主题的东西。帖子分为A、B和X三类。在帖子页面上,写着“归档在:A、B、X下”。我想说“根据:A,B归档”

我正在寻找一种从get_terms 打电话,但我不知道该怎么办。这样对吗?我原本以为这是post_meta 问题,但似乎get_terms 相关的我可以添加过滤器吗get_terms 始终排除类别?

如果重要的话,我正在使用genesis框架,这个调用发生在do_action(\'genesis_after_post_content\') 呼叫但是,如果我可以在我的函数中添加这个作为全局过滤器。php这将是最好的解决方案。

我试过上面提到的方法in this post, 但它没有起作用。

1 个回复
SO网友:Jason Lawton

我在以下位置找到了答案:this article entitled "Excluding Categories from the_category();":

function the_category_filter($thelist,$separator=\' \') {
     // list the IDs of the categories to exclude
     $exclude = array(4,5);
     // create an empty array
     $exclude2 = array();

     // loop through the excluded IDs and get their actual names
     foreach($exclude as $c) {
          // store the names in the second array
          $exclude2[] = get_cat_name($c);
     }

     // get the list of categories for the current post     
     $cats = explode($separator,$thelist);
     // create another empty array      
     $newlist = array();

     foreach($cats as $cat) {
          // remove the tags from each category
          $catname = trim(strip_tags($cat));

          // check against the excluded categories
          if(!in_array($catname,$exclude2))

          // if not in that list, add to the new array
          $newlist[] = $cat;
     }
     // return the new, shortened list
     return implode($separator,$newlist);
}

// add the filter to \'the_category\' tag
add_filter(\'the_category\',\'the_category_filter\', 10, 2);