Cum să afișezi wp_list_categories pe div în loc de li?
Știe cineva cum să afișez wp_list_categories()
pe un div
în loc de li
?
Practic, vreau să încadrez categoriile principale și subcategoriile într-o coloană Bootstrap.
$args = array(
'taxonomy' => 'product_category', // Specifică taxonomia
'hide_empty' => 0, // Afișează și categoriile goale
'orderby' => 'name', // Sortează după nume
'order' => 'ASC', // Ordine crescătoare
'show_count' => 0, // Nu afișa numărul de articole
'use_desc_for_title' => 0, // Nu folosi descrierea ca titlu
'title_li' => 0 // Nu afișa titlul listei
);
wp_list_categories($args);

Puteți specifica argumentul style
ca fiind altceva decât valoarea implicită (care este list
) și nu va înfășura rezultatul într-un <li>
. Puteți apoi să-l înfășurați manual într-un <div>
.
Combinați-l cu argumentul echo
dacă trebuie să verificați că lista nu este goală. Exemplu:
$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 );
}

Te rog să adaugi două noi argumente în array-ul tău $args
.
1) Style cu valoarea none. Vezi secțiunea de markup pentru mai multe detalii. 2) echo cu valoarea 0 (False).
Acum apelează și stochează rezultatul în variabila $categories
și afișează-l folosind printf()
.
Codul final arată astfel:
$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 );
}
În plus, poți folosi if ( !preg_match( '/No\scategories/i', $cats ) )
dacă textul afișat este "No categories" (Fără categorii).
P.S. Dacă aceste informații ți-au fost de folos, te rog să lași un comentariu și să mă susții :)
