get_the_category_list如何删除未分类的



有没有办法从wordpress Permalink中获取一个类别,然后从中获取每个父类别?我正在努力做面包屑。。。

wp_list_categories((对其进行了预格式化,并为您提供了我想要删除的未分类部分。

$category_id = wp_list_categories();
echo $category_id ;

我测试的类别是:

Categories
Test Prep
Test Taking Skills
Study Skills
Uncategorized

我做到了,但你如何删除未分类?

$categories_list = get_the_category_list( __( ', ', 'mytheme' ) );
$category_id = get_cat_ID($categories_list);
$categories = get_categories(array('parent_of' => $category_id));
foreach($categories as $category) {
echo '<a href="' . get_category_link( $category->term_id ) . '">' .       $category->name.'</a><br> ';
}

以下是实现这一目标的方法:

get_the_category_list()

您需要使用过滤器the_category_list。将其添加到你的functions.php中。如果你查看get_the_category_list()的内部,它会使用这个过滤器在输出之前构建类别:

add_filter( 'the_category_list', static function( $categories ){
// Loop through all the categories that are found
foreach ( $categories as $index => $category ) {
// if the category object slug equals "uncategorized"
if ( $category->slug === 'uncategorized' ) :
// remove it from the list of categories
unset($categories[$index]);
endif;
}
// return the categories
return $categories;
});

wp_list_categories()

这个比较简单,因为您可以传递exclude参数并使用slug:

wp_list_categories([
'exclude' => 'uncategorized',
]);

您需要"未分类"类别吗?

如果没有,您可以将另一个类别术语设置为标准类别:Wordpress Backend to"Settings"->"Writing"->"Default Post Category"并选择一个类别术语。

之后,您可以将其从类别中删除,因此不会出现在get_the_category_list中,因为它已不存在。

相关内容

  • 没有找到相关文章

最新更新