1

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

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

4

3 回答 3

4
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

于 2013-07-20T06:56:05.657 回答
1

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

<?php wp_list_categories( $args ); ?> 

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

于 2013-07-19T16:07:50.917 回答
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");
于 2020-08-09T13:01:50.553 回答