此代码有95%可用,但我需要一些帮助。我试图从Wordpress获取所有自定义分类和分类术语,并将它们显示在无序列表中。这是我的代码:
$args=array('public' => true, '_builtin' => false);
$output = 'names';
$operator = 'and';
$taxonomies=get_taxonomies($args,$output,$operator);
if ($taxonomies) {
foreach ($taxonomies as $taxonomy ) {
echo '<a>'. $taxonomy. '</a>';
$terms = get_terms("color");
$count = count($terms);
if ( $count > 0 ){
echo '<ul>';
foreach ( $terms as $term ) {
echo "<li>" . $term->name . "</li>";
}
echo "</ul>";
}
}
}
问题出在第8行,其中显示$terms = get_terms("color");
。我写这个作为测试代码的方法,但问题是Wordpress现在显示每个分类的分类法“颜色”的术语。
我如何修改此代码,以便对于Wordpress显示的每个分类法,它还会显示该分类法的相应术语列表?
答案 0 :(得分:1)
$terms = get_terms($taxonomy);
$ taxonomy在这种情况下不是对象,只是一个分类名称的数组($ output =&#39; names&#39;)。因此$ taxonomy-&gt;名称不起作用。
请参阅:
http://codex.wordpress.org/Function_Reference/get_taxonomies http://codex.wordpress.org/Function_Reference/get_terms
答案 1 :(得分:1)
colindunnn,谢谢你的代码伙伴。当尝试做类似的事情时,它有很多帮助...... 我希望显示所有分类法:
Taxonomy1 -Terms1a -Terms1b -etc Taxonomy2 -Terms2a -Terms2b -etc
这是代码......如果有人需要它们。
<?php $args=array('public' => true, '_builtin' => false);
$output = 'names';
$operator = 'and';
$taxonomies=get_taxonomies($args,$output,$operator);
if ($taxonomies) {
foreach ($taxonomies as $taxonomy ) {
echo '<a>'. $taxonomy. '</a>';
$terms = get_terms($taxonomy);
$count = count($terms);
if ( $count > 0 ){
echo '<ul>';
foreach ( $terms as $term ) {
$termlinks= get_term_link($term,$taxonomy);
?> <a href="<?php echo $termlinks; ?>">
<?php echo "<li>" . $term->name . "</li>"; ?></a><?php
}
echo "</ul>";
}
}
}
&GT;
答案 2 :(得分:0)
$terms = get_terms($taxonomy->name);
?