Php 从获取类别列表中排除Wordpress类别

Php 从获取类别列表中排除Wordpress类别,php,wordpress,Php,Wordpress,我有一些代码,列出了你目前的职位类别,就像这样 <?php $categories_list = get_the_category_list( __( ', ', 'sitename' ) ); if ( $categories_list && sitename_categorized_blog() ) :?> <span class="cat-links"> <?php printf( __( 'ALL NEWS FOR %1$s', 'siten

我有一些代码,列出了你目前的职位类别,就像这样

<?php $categories_list = get_the_category_list( __( ', ', 'sitename' ) );
if ( $categories_list && sitename_categorized_blog() ) :?>
<span class="cat-links">
<?php printf( __( 'ALL NEWS FOR %1$s', 'sitename' ), $categories_list ); ?>
</span>
<?php endif; // End if categories ?>

这非常有效,但我刚刚添加了一个名为“特色帖子”的新ctegory。如何从上述代码生成的菜单中排除此特色帖子类别(按名称或ID)

所以不是结果

所有新闻:类别名称、特色帖子

我只是

所有新闻:类别名称

说明
您好,请改用
wp\u list\u categories
函数并使用'exclude'参数。 有关更多说明,请参阅

例子 可以将此代码放在主题的
functions.php
文件中。下面是一个例子:

function list_categories_without_this_cat() {
  $categories_stripped_of_one = wp_list_categories( array(
    'exclude' => array( 8 )
  ) );
  return $categories_stripped_of_one;
}

使用list_categories的问题在于它将它们列在一个列表中,而不是像get_那样使用逗号分隔

我在这里找到了一个很好的答案:

只需调用get_the_category_list而不是get_the_tags_list


我重新命名了回调函数exclude_cats(而不是exclude_terms),添加了一系列我想跳过的类别,这是轻而易举的事

使用自定义foreach,如本线程中所示
wp\u list\u categories()
用于检索类别的子级--它不会取代
get\u the\u categories\u list()
功能