wake-up-neo.net

Wie zeige ich wp_list_categories auf div anstelle von li an?

Kann jemand das wp_list_categories() auf einem div anstelle des li anzeigen?

Ich möchte im Grunde genommen die Hauptkategorien und ihre Kinder in eine Bootstrap-Spalte packen.

$args = array(
    'taxonomy'           => 'product_category',
    'hide_empty'         => 0,
    'orderby'            => 'name',
    'order'              => 'ASC',
    'show_count'         => 0,
    'use_desc_for_title' => 0,
    'title_li'           => 0
);
wp_list_categories($args);
2
Hugo

Sie können das Argument style als etwas anderes als das Standardargument (list) angeben, und die Ausgabe wird nicht in einen <li> eingeschlossen. Sie können es dann selbst in einen <div> einwickeln.

Kombinieren Sie es mit dem Argument echo, wenn Sie sicherstellen möchten, dass die Liste nicht leer ist. Beispiel:

$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 );
}
3
John Blackbourn

Bitte fügen Sie zwei neue Argumente in Ihr $args-Array ein.

1) Stil ohne Wert. Siehe den Markup-Abschnitt für mehr . 2) Echo mit 0 (Falsch).

Rufen Sie nun das Ergebnis auf, speichern Sie es in der Variablen $categories und drucken Sie es über printf() aus.

Endgültiger Code wie:

$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 );
}

Außerdem können Sie if ( !preg_match( '/No\scategories/i', $cats ) ) verwenden, wenn der angezeigte Text "Keine Kategorien" lautet.

P.S. Wenn dir dieses Zeug hilft, hinterlasse mir bitte einen Kommentar und unterstütze mich :)