如何使用快捷码显示页面上的类别?

时间:2020-08-09 作者:user9437856

我试图在我的页面上显示类别名称,但它没有显示。我正在使用下面的代码,并添加了短代码gridCategories 在我的页面上。我只得到array

function createGridCategories(){
$categories = get_categories( array(
    \'taxonomy\'   => \'category\',
    \'orderby\'    => \'name\',
    \'parent\'     => 0,
    \'hide_empty\' => 0, // change to 1 to hide categores not having a single post
) );
var_dump($categories);
return $categories;
}
add_shortcode( \'gridCategories\', \'createGridCategories\');
我也试过了

$categories = get_the_category();
var_dump($categories);
我在textblock中添加了这样的短代码

enter image description here但是,我的页面上仍然没有任何输出。我的代码有问题吗?

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

我的代码有问题吗?

是的,有。get_categories() 返回术语的数组,例如。WP_Term 对象或术语ID列表return $categories;.

相反

基本列表,如Foo category, Bar category, etc. (即没有类别链接),您只需设置fields 参数到names 这将为您提供一个类别名称列表:

function createGridCategories() {
    $categories = get_categories( array(
        \'fields\'     => \'names\',
        \'hide_empty\' => 0,
        // other args here
    ) );

    return implode( \', \', $categories );
}

function createGridCategories() {
    $categories = get_categories( array(
        \'hide_empty\' => 0,
        // other args here
    ) );

    $list = \'\';

    foreach ( $categories as $term ) {
        $url = get_category_link( $term );
        $list .= \'<li><a href="\' . esc_url( $url ) . \'">\' . esc_html( $term->name ) . \'</a></li>\';
    }

    return "<ul>$list</ul>";
}
UL 如上文所述),您可以使用wp_list_categories():

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

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

相关推荐

If statement shortcode

因此,我创建了一个短代码来返回一些ACF内容。以下代码起作用:function howitworks() { $page = get_page_by_title(\'shop\'); if (have_rows(\'steps\', $page->ID)) : while (have_rows(\'steps\', $page->ID)) : the_row(); $image = get_sub_fiel