获取博客的所有类别和相关URL?

时间:2019-06-11 作者:Matthew Brown aka Lord Matt

我对如何获取所有博客类别(无空类别)的列表感到困惑。我需要文本名称和cat归档文件的URL作为一个数组。

我是否使用get_terms(), get_categories(), wp_list_categories(), wp_query() 还是别的什么?

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

get_categories() 只是一个包装get_terms(), 您可以使用任意一个函数来获取所有博客的类别,我假设这些类别都是标准的category 分类学但是,您可以在调用时设置自定义分类get_categories(), 还有一个很好的理由get_categories() 而不是get_terms() 输出总是一个数组,而不是一个WP_Error 实例(即使get_terms() 返回了该实例)。

wp_list_categories() 是一个更高级别的函数,用于显示/回显或检索类别的HTML列表,该函数使用get_categories() 获取类别列表。

所以,若要获取类别名称和(归档页)URL的数组,则可以使用get_categories()get_terms(), 但不是wp_list_categories().

下面是一个使用get_categories()get_category_link() 要获取类别页面的URL,请执行以下操作:

$cats = get_categories( \'hide_empty=0\' );
if ( ! empty( $cats ) ) {
    echo \'<ul>\';
    foreach ( $cats as $term ) {
        $url = get_category_link( $term );
        echo \'<li><a href="\' . esc_url( $url ) . \'">\' . esc_html( $term->name ) . \'</a></li>\';
    }
    echo \'</ul>\';
}
有关接受/支持的参数的完整列表,请参阅here 对于get_categories(), 这实际上告诉你get_terms().

相关推荐

使用wp_Dropdown_Categories($args)的输出

请温柔点,我对所有这些编码都是新手!我终于找到了如何获得前端下拉字段,允许我从EDD类别中进行选择(我从Codex中获得):<div class=\"gallery-row\"> <li id=\"categories\"> <h2><?php _e( \'Categories:\' ); ?></h2> <form id=\"category-select\" class=\"category-