how to display all categories in wordpress?

前端 未结 3 1705
逝去的感伤
逝去的感伤 2020-12-15 05:29

I used this code:

      $categories = wp_get_post_categories(get_the_ID());
      foreach($categories as $category){
          echo \'
相关标签:
3条回答
  • 2020-12-15 05:55

    like this :

    <?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>';   
    } 
    
    0 讨论(0)
  • 2020-12-15 05:56

    You can also use wp_list_categories and pass arguments to it to show only what you need. A full list of arguments can be found in the codex: https://developer.wordpress.org/reference/functions/wp_list_categories

    This will output all categories (even if they're empty) indented to indicate hierarchy.

    $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) );
    
    0 讨论(0)
  • 2020-12-15 06:11

    In the code you gave us you are selected the categories selected for the specific post get_the_ID() is doing that part. However you would be best off using another function get_categories() https://developer.wordpress.org/reference/functions/get_categories/ which you would do like so:

    $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>';
    }
    

    You can also pass through arguments to be more specific (if needed) - see https://developer.wordpress.org/reference/functions/get_terms/ for details on what you can pass through

    0 讨论(0)
提交回复
热议问题