ANDREA BACCOLINI
Web designer

CSS Design Award nominated

WORDPRESS: LISTA CATEGORIE IN ORDINE GERARCHICO

Argomenti: , , ,

Autore: Andrea Baccolini

WordPress
Apr
22
2013

Tempo fa cercavo un modo per listare le categorie in ordine gerarchico e non alfabetico come fa WordPress di default.
Cercando in vari blog mi è stato risposto che WP era molto limitato in questo senso.
Posto qui lo script per visualizzare la lista categorie in ordine gerarchico madre-figlio.
Questo codice è inseribile nel loop o in qualsiasi parte volete visualizzare la lista di un post/articolo:

<?php // get the category IDs assigned to post $categories = wp_get_post_categories( $post->ID, array( 'fields' => 'ids' ) );
// separator between links
$separator = ', ';
if ( $categories ) {
$cat_ids = implode( ',' , $categories );
$cats = wp_list_categories( 'title_li=&style=none&echo=0&include=' . $cat_ids );
$cats = rtrim( trim( str_replace( '
', $separator, $cats ) ), $separator );
// display post categories
echo $cats;
}
?>

Un esempio dell’uso dello scipt lo trovate nella lista in basso di questo post.
Potete cambiare il separatore delle voci della lista cambiando la “,” all’interno di “$separator = ‘, ‘” con un altro simbolo a vostra scelta.

Se invece volete visualizzare solo la lista delle categorie “figlio”, all’interno di tag “li” (nella sidebar per esempio), ecco lo script:

<ul>
<?php wp_list_categories('orderby=id&show_count=1&use_desc_for_title=0&child_of=8'); ?>
</ul>

Il codice di esempio genera categorie con link, ordinate per ID, solo per i “figli” della categoria con ID 8;
Mostra il numero di post per ogni categoria e nasconde le descrizioni di categoria dall’attributo title dei link generati.
Nota: Se non ci sono post in una categoria “padre”, tale categoria non verrà visualizzata.

Quando “show_count = 1”, il numero di post di ogni categoria è circondato da parentesi.
Al fine di rimuovere le parentesi, senza modificare i file del core di WordPress, utilizzare il codice riportato di seguito.

<?php
$variable = wp_list_categories('echo=0&show_count=1&title_li=<h2>Categories</h2>');
$variable = preg_replace('~\((\d+)\)(?=\s*+<)~', '$1', $variable);
echo $variable;
?>

WORDPRESS: LISTA CATEGORIE IN ORDINE GERARCHICO ultima modifica: 2013-04-22T10:11:12+02:00 da Andrea Baccolini
Avatar for Andrea Baccolini

Articolo scritto o tradotto da Andrea Baccolini

Web designer freelance di Padova.
Specializzato in siti internet moderni, convalidati W3C e responsive.
Realizza temi per il CMS Wordpress. Indicizzazione sui motori di ricerca.

3 commenti

  1. Avatar for Michela Michela scrive:

    Ti ho nominato per il versatile blogger award! Scopri tutte le info sul mio blog http://www.riflessimichi.wordpress.com

      Quote

  2. Avatar for michele michele scrive:

    Ciao Andrea penso che potresti aiutarmi,
    ho creato una navigazione principale richiamando categorie di articoli, mi piacerebbe una volta che ho cliccato su una di queste (che è una categorie madre) visualizzare prima della stampa degli articoli una lista con tutte le categorie figlio della categoria in questione.

      Quote

    • Ciao Michele, cosa intendi per stampa degli articoli? Che vengono caricati a video?

        Quote

COMMENTA QUESTO ARTICOLO!

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Andrea Baccolini | Web designer Copyright 2012 - 2024 © Responsive design - Seguimi su Facebook - CF:BCCNDR76P08D325K.