在 WordPress 中获取自定义 post 类型的自定义分类列表
Get custom taxonomy list on custom post type in WordPress
我正在使用 WordPress 4.7 并为其创建了自定义 post 类型和自定义分类。
我的自定义 post 类型是 'products',自定义分类法是 'type'。
为了获得 'type' 的所有分类法,我使用了以下代码。
<?php
$terms = get_terms( 'type' );
foreach ( $terms as $term ) {
echo '<p>' .$term->name. '</p>';
}
?>
但是它返回的是空数组,所以我努力学习寻找答案并找到了提示。
我已经通过 get_terms('type') 函数检查了执行的查询。
他们执行了两个重要的查询。
第一次查询
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
我明白它返回空数组的原因。
termmeta是从WordPress4.4开始提供的,我用的是WordPress4.7。
由于第二次查询,它返回空查询。
但是现在我仍然找不到合适的函数来为我的产品自定义 post 类型获取所有自定义分类法。
我会很高兴有人告诉我如何在 WordPress4.7 中做到这一点
我不能只为它使用较低版本。
谢谢
get_terms 建议添加一个数组作为参数。
在过去,第一个论点是分类问题。现在不是了。这应该无关紧要,但它仍然可能是最好的起点。
<?php
$terms = get_terms( array(
'taxonomy' => 'type',
) );
试试这个代码
<?php
$terms = get_terms( array(
'taxonomy' => 'type'
));
print_r($terms);
foreach($terms as $term) {
echo '<p>'.$term->name.'</p>';
}
?>
您可以在 here
查看 get_terms()
的更多详细信息
我正在使用 WordPress 4.7 并为其创建了自定义 post 类型和自定义分类。 我的自定义 post 类型是 'products',自定义分类法是 'type'。 为了获得 'type' 的所有分类法,我使用了以下代码。
<?php
$terms = get_terms( 'type' );
foreach ( $terms as $term ) {
echo '<p>' .$term->name. '</p>';
}
?>
但是它返回的是空数组,所以我努力学习寻找答案并找到了提示。 我已经通过 get_terms('type') 函数检查了执行的查询。 他们执行了两个重要的查询。
第一次查询
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
我明白它返回空数组的原因。 termmeta是从WordPress4.4开始提供的,我用的是WordPress4.7。 由于第二次查询,它返回空查询。 但是现在我仍然找不到合适的函数来为我的产品自定义 post 类型获取所有自定义分类法。 我会很高兴有人告诉我如何在 WordPress4.7 中做到这一点 我不能只为它使用较低版本。 谢谢
get_terms 建议添加一个数组作为参数。
在过去,第一个论点是分类问题。现在不是了。这应该无关紧要,但它仍然可能是最好的起点。
<?php
$terms = get_terms( array(
'taxonomy' => 'type',
) );
试试这个代码
<?php
$terms = get_terms( array(
'taxonomy' => 'type'
));
print_r($terms);
foreach($terms as $term) {
echo '<p>'.$term->name.'</p>';
}
?>
您可以在 here
查看get_terms()
的更多详细信息