在WordPress中获取自定义帖子类型的自定义分类列表

时间:2016-12-28 12:03:35

标签: wordpress custom-post-type custom-taxonomy

我正在使用WordPress 4.7并为其创建自定义帖子类型和自定义分类。 我的自定义帖子类型是'产品'和自定义分类法是'类型'。 为了获得' type'的所有分类法,我使用了以下代码。

<?php
   $terms = get_terms( 'type' );
   foreach ( $terms as $term ) {
    echo '<p>' .$term->name. '</p>';
   }
?>

但是它返回了空数组,所以我努力学习找到答案并找到了提示。 我已经通过get_terms(&#39; type&#39;)函数检查了执行的查询。 他们执行了两个重要的询问。

第一次查询

SELECT    t.*, tt.* FROM wp_terms AS t    INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN ('type') ORDER BY t.name ASC

下一个查询

SELECT term_id, meta_key, meta_value FROM wp_termmeta WHERE term_id IN (10,11) ORDER BY meta_id ASC

我理解为什么它返回空数组。 自WordPress4.4起提供termmeta并使用WordPress4.7。 由于第二个查询,它返回空查询。 但是现在我还无法找到正确的功能来获取我的产品自定义帖子类型的所有自定义分类。 我会很高兴有人让我知道如何在WordPress4.7中做到这一点 我不能只使用较低版本。 感谢。

2 个答案:

答案 0 :(得分:1)

尝试此代码

<?php
    $terms = get_terms( array(
                'taxonomy' => 'type'
            ));
    print_r($terms);

    foreach($terms as $term) {
        echo '<p>'.$term->name.'</p>';
    }
?>

您可以在here

查看get_terms()的更多详细信息

答案 1 :(得分:0)

get_terms建议添加一个数组作为参数 在过去,第一个论点是分类学刺痛。它不再存在了。这应该不重要,但它仍然可能是最好的起点。

<?php
$terms = get_terms( array(
    'taxonomy' => 'type',
) );