获取自定义类别的元键

时间:2016-10-05 作者:Paul Sim

我在获取自定义类别的元键时遇到问题。我尝试使用get\\u post\\u meta()转储帖子的所有元键和值,如下所示:

$myvals = get_post_meta($post->ID);
var_dump($myvals);
但是,输出不包括自定义类别(甚至不包括常规类别)。我确保我的帖子确实包含这些类别中的值,以便它们不是空的(希望var\\u dump不会跳过空值)。正在打印的一些字段包括:自定义字段键、缩略图键(“\\u thumbnail\\u id”),以及通过插件包含的一些Yoast字段键。

1 个回复
最合适的回答,由SO网友:Dave Romsey 整理而成

听起来你在尝试获取一篇文章的分类术语。类别术语不存储在post meta中。

你可以使用get_the_terms(). 在本例中,$terms 将为category 与当前帖子关联的分类。您可以替换category 使用自定义分类名称。

$terms = get_the_terms( get_the_ID(), \'category\' );
if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){
    echo \'<ul>\';
    foreach ( $terms as $term ) {
        echo \'<li>\' . $term->name . \'</li>\';
    }
    echo \'</ul>\';
}
当我们在上面的代码中迭代foreach循环时,每个term对象将如下所示:

WP_Term Object
(
    [term_id] => 2
    [name] => Alignment
    [slug] => alignment
    [term_group] => 0
    [term_taxonomy_id] => 2
    [taxonomy] => category
    [description] => Posts in this category test image and text alignment.
    [parent] => 0
    [count] => 4
    [filter] => raw
)