Cum să afișezi wp_list_categories pe div în loc de li?

31 iul. 2015, 00:42:44
Vizualizări: 14K
Voturi: 3

Ș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);
0
Toate răspunsurile la întrebare 2
0

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 );
}
31 iul. 2015 03:48:39
0

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 :)

31 iul. 2015 15:45:33