Wie man eine Liste von Kategorien anzeigt

Ich versuche, eine Liste von Kategorien mit anklickbaren Links zu dieser Kategorie einzurichten. Ich habe mir angeschaut:

  • Zeigen Sie die Liste der Unterkategorien und die darin enthaltenen Beiträge in einer Hauptkategorie an

und ich bin mir nicht sicher, wo ich den Code ablegen oder auf die Seite zugreifen soll.

Ich verstehe die PHP gut genug – es ist ziemlich einfach, ich bin nur relativ neu in WP und brauche etwas Hilfe bei der Implementierung.

Solutions Collecting From Web of "Wie man eine Liste von Kategorien anzeigt"

Gemäß dem verknüpften WPSE-Thread und der akzeptierten Antwort wird der Code (kopiert und eingefügt):

$categories = get_categories('child_of=31'); foreach ($categories as $category) { //Display the sub category information using $category values like $category->cat_name echo '

'.$category->name.'

'; echo '
    '; foreach (get_posts('cat='.$category->term_id) as $post) { setup_postdata( $post ); echo '
  • '.get_the_title().'
  • '; } echo '
'; }

Wie für uns (die WordPress-Entwickler) ist Codex der Schlüssel für die meisten Grundlagen. Also nach WordPress Codex:

  • get_categories() fragt alle Kategorien einer Site ab und gibt ein Array zurück.
  • Ähnlich get_posts() alle Posts einer Site ab und gibt ein Array zurück.

Und beide sind die Abkürzung von WP_Query() . Sie können alle möglichen Parameter von den Codex-Seiten erhalten. Da Sie ein PHP-Enthusiast sind, wissen Sie, wie der Code funktioniert: $categories nimmt alle Kategorien an und für jede Kategorie nimmt get_posts() seine Beiträge entgegen.

Es ist also einer mySQL-Abfrage und einer foreach-Schleife in PHP sehr ähnlich. Sie können diesen Code in alle Vorlagenseiten Ihres aktiven Themas auf der WP-Site einfügen. Die Vorlagenhierarchie kann Ihnen einen detaillierten Einblick geben.

Gemäß Ihrem Titel der Frage lautet:

Wie man eine Liste von Kategorien anzeigt

Die Antwort kann sein:

 $categories = get_categories(); echo '
    '; foreach ($categories as $category) { echo '
  • '. $category->cat_name .'
  • '; } echo '
';

Ich bin mir nicht ganz sicher, wo ich den Code einfügen oder auf die Seite zugreifen soll.

Ich habe bereits gesagt, versuchen Sie, den Code in index.php , front-page.php , … irgendwo zu setzen. Das Schlüsselkonzept ist: es ist nur eine SQL-Abfrage und eine nützliche foreach Schleife von PHP.

Mit dieser Methode können Sie jede Kategorie ausschließen, indem Sie einfach die cat-ID zum Code hinzufügen.

Hier ist ein besserer Weg, um eine Liste von Kategorien bedingt von der Child-Themes-functionsdatei in WordPress- oder themenspezifischen Hook-Adressen hinzuzufügen:

 add_filter( 'the_content', 'wpsites_list_cats' ); function wpsites_list_cats($content) { if( is_singular('post') && is_main_query() ) { $args = array( 'orderby' => 'name', 'exclude' => '', 'include' => '', 'parent' => 0 ); $categories = get_categories( $args ); echo''; return $content; } } 

Hier ist das Ergebnis

Bildbeschreibung hier eingeben

Und hier ist das Ergebnis, wenn Sie das vorhandene Styling aus den Twenty Fourteens Navigationsmenüs, die der obige Code enthält, verwenden möchten.

Bildbeschreibung hier eingeben

Mit dem Code können Sie auch bestimmte Kategorien einbeziehen oder alle Kategorien ausschließen, die die Cat-IDs verwenden

Sie können auch einen benutzerdefinierten Widgetbereich erstellen und das native WordPress-Kategorie-Widget verwenden.

Ändern Sie einfach den Hook_de_content , um den Speicherort der Kategorienliste zu ändern.

Geändert von dieser Quelle