我已经写下了我的习惯WP_Query
并使用循环显示帖子内容。我使用get_the_category()
显示当前帖子的类别,效果良好。现在,对于某些帖子类型,有自定义的分类法,而不是类别。
Code to get categories:
$categories = get_the_category();
if(!empty($categories)){
foreach($categories as $index => $cat){
echo $cat->name;
}
}
现在,我需要提取所有分类法并以逗号分隔的格式打印它们。
我试过这个:
$taxonomies = get_the_taxonomies();
if(!empty($taxonomies)){
foreach($taxonomies as $taxonomy){
echo $taxonomy;
}
}
它以这种格式工作并显示“分类标签:术语(超链接)”。如果术语不止一个,则在术语之间添加“and”。我只需要术语,如果它们是多个,那么它们应该用逗号分隔。
我want to know:
实现这些结果的最佳方法是否建议使用上述方法我可以使用regex
提取价值如何摆脱超链接李>谢谢
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
我想,你的代码的第一个问题是get_the_taxonomies
功能,它将:
仅使用名称检索帖子的所有分类法。
因此其结果如下:
Array
(
[0] => category
[1] => post_tag
[2] => post_format
)
而且我很确定,您希望从所有分类法中获得分配给给定帖子的术语,而不是分类法名称。。。
所以你很可能想做这样的事情:
$terms = wp_get_object_terms( get_the_ID(), array_keys( get_the_taxonomies() ) );
foreach ( $terms as $i => $term ) {
echo ($i ? \', \' : \'\') . $term->name;
}
快速回答您的问题:
上述可能的解决方案之一——很难说这是不是最好的不,我想你的方法不是解决办法没有必要使用regex。如果不需要,应该避免使用regex您可以通过获取术语对象并自己打印它们来摆脱超链接(如上所示)