WordPress – Stampare a video l’elenco dei menu e dei sottomenu

Frecce in verticale ognuna con lettera alfabetica progressiva

La stampa di categorie e sottocategorie, in WordPress, è gestita con una funzione che ammette diversi parametri per personalizzarla (1)

La funzionalità tipica di WordPress, quando avviate il sito anche senza applicare temi, prevede nella barra superiore l’elenco dei menu (in pratica le categorie) e dei sottomenu. Cliccando su uno qualsiasi dei menu, si finisce nella pagina dove vengono elencati tutti i suoi post (gli articoli che scrivete).

Tutto questo è possibile grazie all’uso di una funzione predisposta: wp_list_categories().
Gli argomenti che questa funzione permette di assumere sono molti. Riporto qui la lista dal sito ufficiale. Più sotto daremo un’occhiata alle principali e più usate (per il resto rimando alla pagina ufficiale inglese che troverete nelle fonti).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$args = array(
	'show_option_all'    => '',
	'orderby'            => 'name',
	'order'              => 'ASC',
	'style'              => 'list',
	'show_count'         => 0,
	'hide_empty'         => 1,
	'use_desc_for_title' => 1,
	'child_of'           => 0,
	'feed'               => '',
	'feed_type'          => '',
	'feed_image'         => '',
	'exclude'            => '',
	'exclude_tree'       => '',
	'include'            => '',
	'hierarchical'       => 1,
	'title_li'           => __( 'Categories' ),
	'show_option_none'   => __('No categories'),
	'number'             => null,
	'echo'               => 1,
	'depth'              => 0,
	'current_category'   => 0,
	'pad_counts'         => 0,
	'taxonomy'           => 'category',
	'walker'             => null
);

Ogni argomento va separato con una “&” (e commerciale). Se un argomento ha più valori, questi devono essere separati tra loro da una virgola. Nell’esempio seguente ordiamo secondo l’id delle categorie ed escludiamo le categorie con id 2 o 3:

1
2
3
<ul>
<?php wp_list_categories('orderby=ID&exclude=2,3'); ?> 
</ul>


Orderby e order parlano da soli: permettono di specificare l’ordine in cui le categorie appariranno. Orderby è il campo (che può essere ID, name, slug, count o term_group), mentre order identifica come ordinarle (ASC o DESC).
In number stabiliamo invece il numero massimo di categorie da stampare a video (corrisponde al LIMIT della query).

Con style specifichiamo se i menu devono apparire in lista (valore “list”, che è poi quello di default) oppure in blocchi separati (none).

Un altro argomento importante è hide_empty, che stabilisce se dobbiamo nascondere le categorie senza post (true, default) oppure mostrarle (false).

Per stampare solo i sottomenu di una certa categoria, dobbiamo passare a child_of l’id della categoria madre. Include ed exclude permettono invece di stabilire quali categorie devono essere incluse (escludendo tutte le altre) o escluse (includendo tutte le altre); exclude_tree è la versione estesa che permette di escludere una categoria e tutte le sue sottocategorie.
Se, per esempio, vogliamo escludere le categorie con id 10 e 15:

1
2
3
<ul>
<?php wp_list_categories('include=10,15'); ?> 
</ul>

Modificare l’aspetto del menu

Un’ultima nota, per i programmatori che preferiscono smanettare all’interno della grafica: il parametro title_li permette di formattare l’aspetto delle singole voci (racchiuse, per l’appunto, entro i tag <li></li>).
In alternativa è possibile agire direttamente nel css, modificando queste classi:

1
2
3
4
5
6
li.categories { ... }  /* outermost list item */
li.cat-item { ... }
li.cat-item-7 { ... }  /* category ID #7, etc */
li.current-cat { ... }
li.current-cat-parent { ... }
ul.children { ... }
Copyright immagini

(1) http://thinkingfutures.net/doing-environmental-scanning-part-3-starting-to-scan-2/

Fonti esterne

Pagina ufficiale della funzione wp_list_categories

Etichette:, ,

Lascia un commento

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