Come visualizzare wp_list_categories su div invece che su li?

31 lug 2015, 00:42:44
Visualizzazioni: 14K
Voti: 3

Qualcuno sa come visualizzare la funzione wp_list_categories() su un div invece che sul li?

Voglio fondamentalmente raggruppare le categorie principali e le loro sottocategorie in una colonna Bootstrap.

$args = array(
    'taxonomy'           => 'product_category', // Tassonomia da utilizzare
    'hide_empty'         => 0, // Mostra anche le categorie vuote
    'orderby'            => 'name', // Ordina per nome
    'order'              => 'ASC', // Ordinamento crescente
    'show_count'         => 0, // Non mostrare il conteggio articoli
    'use_desc_for_title' => 0, // Non usare la descrizione come titolo
    'title_li'           => 0 // Non mostrare il titolo "Categorie"
);
wp_list_categories($args);
0
Tutte le risposte alla domanda 2
0

Puoi specificare l'argomento style con un valore diverso dall'impostazione predefinita (che è list) e non verrà aggiunto il wrapping dell'output in un <li>. Potrai quindi racchiuderlo manualmente in un <div>.

Combinalo con l'argomento echo se hai bisogno di verificare che la lista non sia vuota. Esempio:

$args = array(
    'taxonomy'           => 'product_category',
    'hide_empty'         => 0,
    'orderby'            => 'name',
    'order'              => 'ASC',
    'show_count'         => 0,
    'use_desc_for_title' => 0,
    'title_li'           => 0,
    'style'              => '',
    'echo'               => false,
);
$categories = wp_list_categories($args);

if ( $categories ) {
    printf( '<div class="col">%s</div>', $categories );
}
31 lug 2015 03:48:39
0

Per favore aggiungi due nuovi argomenti nel tuo array $args.

1) Style con valore none. Vedi la sezione markup per maggiori informazioni. 2) echo con 0 (False).

Ora chiama e memorizza il risultato nella variabile $categories e stampalo tramite printf().

Il codice finale sarà:

$args = array(
    'taxonomy'           => 'product_category',
    'hide_empty'         => 0,
    'orderby'            => 'name',
    'order'              => 'ASC',
    'show_count'         => 0,
    'use_desc_for_title' => 0,
    'title_li'           => 0,
    'style'              => 'none',
    'echo'               => 0,
);

$categories = wp_list_categories($args);
if ( $categories ) {
    printf( '<div>%s</div>', $categories );
}

In aggiunta, puoi usare if ( !preg_match( '/No\scategories/i', $cats ) ) Se il testo visualizzato è "Nessuna categoria".

P.S. Se questo materiale ti è stato utile, per favore lasciami un commento e supportami :)

31 lug 2015 15:45:33