如何在wordpress中按短代码列出类别?

时间:2013-07-19 13:42:47

标签: html wordpress shortcode

无法在这个问题上找到答案,即使这很容易。 我想通过短代码显示当前帖子的内联类别,并用逗号分隔。 我在下面尝试过这个。

function genre( $atts, $content = null ) {
$categories = the_category(', ');
    return '<div id="genre"><b>Genre: </b>' . $categories . '</div>';
}

add_shortcode("genre", "genre");

这会返回Genre:

function genre( $atts, $content = null ) {
$categories = get_the_category(', ');
    return '<div id="genre"><b>Genre: </b>' . $categories . '</div>';
}

add_shortcode("genre", "genre");

这会返回Genre: Array

3 个答案:

答案 0 :(得分:3)

function genre( $atts, $content = null ) {
global $post;
$categories = get_the_category_list( ', ', '', $post->ID );
 return '<div id="genre"><b>Genre: </b>' . $categories . '</div>';
}

add_shortcode("genre", "genre");

来源:http://wordpress.org/support/topic/how-to-list-categories-by-shortcode

答案 1 :(得分:1)

不使用插件,您需要自己生成一个函数。或者,您可以将以下内容添加到模板中:

<?php wp_list_categories( $args ); ?> 

可以在此处找到文档:http://codex.wordpress.org/Template_Tags/wp_list_categories

答案 2 :(得分:0)

您可以尝试wp_list_categories():

function genre() {
    $list = wp_list_categories( array(
        'taxonomy'   => 'category',
        'hide_empty' => 0,
        'echo'       => '',
        'title_li'   => '',
        // other args here
    ) );

     return "<ul>$list</ul>";

}

add_shortcode("genre", "genre");