有时候,我们需要获取文章所在的自定义分类法的分类项目名称,以表示文章所在的分类,如下图。
这种需求应该是相当小众的,所以WordPress肯定不会提供这样的函数,怎么办?凉拌肯定不行,那就只有我们自己动手了,以下是具体的代码。
function custom_taxonomies_terms_links(){
//根据当前文章ID获取文章信息
$post = get_post( $post->ID );
//获取当前文章的文章类型
$post_type = $post->post_type;
//获取文章所在的自定义分类法
$taxonomies = get_object_taxonomies( $post_type, 'objects' );
$out = array();
foreach ( $taxonomies as $taxonomy_slug => $taxonomy ){
$term_list = wp_get_post_terms($post->ID, $taxonomy_slug, array("fields" => "all"));
echo $term_list[0]->name; //显示文章所处的分类中的第一个
}
return implode('', $out );
}
以上代码对于文章在自定义分类法和默认分类目录的时候都是可用的。
6 thoughts on “获取文章所在的自定义分类法分类项目”
请问这段代码放在functions.php 里面吗,前台如何调用,正在遇到这方面的问题 🙁
放到 single.php 里面需要的位置就可以了。现在可以用
single_term_title 函数
来实现。分类名称调用出来了: , 链接怎么调用呢,WordPress的自定义类型好多好多坑啊 🙁
用
get_term_link
。自定义文章类型和分类方法与默认的文章、分类目录实现方法是一样的。只不过自定义文章类型和分类方法出现得晚,文档不全。熟悉后就好了。还是文档看得少了,占用你宝贵的时间,非常感谢解答 ,哪天如果需要给你做个图吧 🙂
都是同道中人,甭客气。