📅  最后修改于: 2023-12-03 15:27:51.545000             🧑  作者: Mango
在WordPress中,我们可以创建自定义帖子类型和分类(taxonomy)。在使用自定义帖子类型时,我们可能会需要获取分类值。下面是一个示例函数,可以帮助我们获取指定文章的分类值。
/**
* 获取指定文章的自定义帖子类型分类值
*
* @param int $post_id 文章ID
* @param string $taxonomy 分类名称(taxonomy名称)
*
* @return array 分类值数组,如果没有分类则返回空数组
*/
function get_custom_post_type_taxonomy_values($post_id, $taxonomy) {
$terms = wp_get_post_terms($post_id, $taxonomy);
if (is_wp_error($terms) || empty($terms)) {
return array();
}
$values = array();
foreach ($terms as $term) {
$values[] = $term->name;
}
return $values;
}
假设我们创建了一个名为“books”的自定义帖子类型,并创建了名为“category”的分类。我们可以使用以下代码获得其中一篇文章的分类值:
$post_id = 123; // 文章ID
$taxonomy = 'category'; // 分类名称
$values = get_custom_post_type_taxonomy_values($post_id, $taxonomy);
if (!empty($values)) {
echo '分类:' . implode(', ', $values);
} else {
echo '此文章没有分类。';
}
该函数的实现非常简单。它将文章ID和分类名称作为参数传入,并使用wp_get_post_terms
函数获取文章的分类对象。如果没有分类返回空数组。如果有,则将每个分类的名称添加到名称数组中并返回它。
使用此函数显示分类值的示例中,我们首先使用函数获取值,并检查值是否为空。如果存在分类值,则将它们以逗号分隔的形式显示出来。如果没有分类值,则显示一条消息,表示该文章没有分类。