Wordpress:获取自定义分类和分类术语

时间:2012-03-30 17:02:24

标签: php wordpress

此代码有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显示的每个分类法,它还会显示该分类法的相应术语列表?

3 个答案:

答案 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);