再次来自遥远的地方。
你知道我试图列出自定义分类中的所有术语,当我使用下面的代码时:
$terms = get_terms($taxonomy , 'hide_empty=0');
print_r($terms);
$count = count($terms);
if ( $count > 0 ){
echo "<ul>";
foreach ( $terms as $term ) {
echo "<li>" . $term->name . "</li>";
}
echo "</ul>";
wp返回一个疯狂的错误:无效分类:
WP_Error Object
(
[errors] => Array
(
[invalid_taxonomy] => Array
(
[0] => Invalid Taxonomy
)
)
[error_data] => Array
(
)
)
非常有趣的是,你知道,当我在single.php中使用上面的代码时,我没有看到任何错误,并且它工作正常。
有人请帮帮我!答案 0 :(得分:2)
<强>解决强>
我正在尝试使用:
get_terms( 'event_category', array('hide_empty'=>FALSE) );
使用我的管理主题选项并在使用时面临同样的问题:
add_action( 'init', 'register_features_taxonomy_event_category' );
但现在解决了使用:
add_action( 'after_setup_theme', 'register_features_taxonomy_event_category' );
答案 1 :(得分:1)
哦,我的......我通过一个疯狂的解决方案来解决这个问题。看下面:
function load_terms($taxonomy){
global $wpdb;
$query = 'SELECT DISTINCT
t.name
FROM
`wp-cls`.wp_terms t
INNER JOIN
`wp-cls`.wp_term_taxonomy tax
ON
`tax`.term_id = `t`.term_id
WHERE
( `tax`.taxonomy = \'' . $taxonomy . '\')';
$result = $wpdb->get_results($query , ARRAY_A);
return $result;
}
你可以看到我使用了一个查询,但是我无法将这个插件应用到我的编程团队。我仍在等待wordpress插件中get_terms函数的正确解决方案/用法。
问候。
答案 2 :(得分:1)
get_terms返回无效的分类错误,因为: 您有一个在“init”挂钩中注册的自定义分类 所以在wp-admin中它不起作用 - &gt;在调用“get_term”后注册了您的分类 https://wordpress.stackexchange.com/questions/13480/get-terms-return-errors/13482#13482
答案 3 :(得分:1)
没有什么可以添加但是要说清楚: get_terms()
在“admin_init”操作挂钩中不起作用!
我确实喜欢bizzr3。把我的代码放在这里是因为我对bizzr3的代码有点混淆:
function load_terms($taxonomy){
global $wpdb;
$query = 'SELECT DISTINCT
t.name
FROM
wp_terms t
INNER JOIN
wp_term_taxonomy tax
ON
tax.term_id = t.term_id
WHERE
( tax.taxonomy = \'' . $taxonomy . '\')';
$result = $wpdb->get_results($query , ARRAY_A);
return $result;
}
然后只需在“admin_init”函数中调用load_terms()
:
//get all terms from taxonomy Category
$terms = load_terms('category');
并且谢谢,就像一个魅力。