webentwicklung-frage-antwort-db.com.de

Wie zeige ich alle Kategorien in WordPress an?

Ich habe diesen Code benutzt:

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

aber nur eine kategorie zurückgeben, wie kann ich alle kategorien bekommen?

14
Clorge32

In dem Code, den Sie uns gegeben haben, sind die Kategorien ausgewählt, die für den bestimmten Beitrag ausgewählt wurden. Get_the_ID () erledigt diesen Teil. Am besten verwenden Sie jedoch eine andere Funktion get_categories () https://developer.wordpress.org/reference/functions/get_categories/ , die Sie folgendermaßen ausführen möchten:

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

Sie können Argumente auch genauer angeben (falls erforderlich) - siehe https://developer.wordpress.org/reference/functions/get_terms/ für Details darüber, was Sie passieren können

26
Simon Pollard

Sie können auch wp_list_categories verwenden und Argumente übergeben, um nur das anzuzeigen, was Sie benötigen. Eine vollständige Liste der Argumente finden Sie im Codex: https://developer.wordpress.org/reference/functions/wp_list_categories

Dadurch werden alle Kategorien (auch wenn sie leer sind) eingerückt ausgegeben, um die Hierarchie anzuzeigen.

$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) );
4
Josh Bradley

so was :

<?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>';   
} 
1
WordpressDave