如何显示所有类别在wordpress?

kq4fsx7k  于 2023-01-08  发布在  WordPress
关注(0)|答案(4)|浏览(164)

我用这个代码:

$categories = wp_get_post_categories(get_the_ID());
      foreach($categories as $category){
          echo '<div class="col-md-4"><a href="' . get_category_link($category) . '">' . get_cat_name($category) . '</a></div>';
        }

但是只返回一个类别,我怎么得到所有的类别?

erhoui1w

erhoui1w1#

在你给我们的代码中,你选择了为特定帖子选择的类别get_the_ID()正在做这一部分。然而,你最好使用另一个函数get_categories()https://developer.wordpress.org/reference/functions/get_categories/,你会喜欢这样做:

$categories = get_categories();
foreach($categories as $category) {
   echo '<div class="col-md-4"><a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a></div>';
}

您还可以传递更具体的参数(如果需要)-有关可以传递哪些参数的详细信息,请参见https://developer.wordpress.org/reference/functions/get_terms/

sc4hvdpw

sc4hvdpw2#

你也可以使用wp_list_categories并传递参数给它,只显示你所需要的内容。完整的参数列表可以在代码中找到:https://developer.wordpress.org/reference/functions/wp_list_categories
这将输出所有类别(即使它们是空的),缩进以指示层次结构。

$args = array(
    'child_of'            => 0,
    'current_category'    => 0,
    'depth'               => 0,
    'echo'                => 1,
    'exclude'             => '',
    'exclude_tree'        => '',
    'feed'                => '',
    'feed_image'          => '',
    'feed_type'           => '',
    'hide_empty'          => 0,
    'hide_title_if_empty' => false,
    'hierarchical'        => true,
    'order'               => 'ASC',
    'orderby'             => 'name',
    'separator'           => '<br />',
    'show_count'          => 0,
    'show_option_all'     => '',
    'show_option_none'    => __( 'No categories' ),
    'style'               => 'list',
    'taxonomy'            => 'category',
    'title_li'            => __( 'Categories' ),
    'use_desc_for_title'  => 1,
);

var_dump( wp_list_categories($args) );
ne5o7dgx

ne5o7dgx3#

像这样:

<?php
$categories = get_categories( array(
    'orderby' => 'name',
    'order'   => 'ASC'
) );

foreach( $categories as $category ) {
 echo '<div class="col-md-4"><a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a></div>';   
}
oymdgrw7

oymdgrw74#

也许不像它可能是本地的,但我总是用途:

$categories = get_terms([
    'taxonomy' => 'category'
]);

相关问题