Wie kann ich benutzerdefinierte Bestellung verwenden diese function verwenden

Ich habe ein Beispiel:

CODE PHP:

Dieser Code zeigt die Kategorieliste sortiert nach Namen an.

Was ich tun möchte, ist eine benutzerdefinierte Bestellung … nicht mit dem Namen, nicht mit der ID.

Zum Beispiel, diese Reihenfolge:

  1. Category with ID 5: 2. Category with ID 3: 3. Category with ID 9: 

Wie kann ich dies mit der obigen function tun?

Solutions Collecting From Web of "Wie kann ich benutzerdefinierte Bestellung verwenden diese function verwenden"

Sie müssen den Kategorien Meta-Begriff hinzufügen . In diesem Metafeld speichern Sie die Zeichenfolge oder die Nummer, die Sie als Grundlage für Ihre benutzerdefinierte Bestellung verwenden möchten ( Lernprogramm ). Nehmen wir an, Sie haben ein Meta-Feld namens my_cat_meta das ganze Zahlen enthält, die angeben, in welcher Reihenfolge sie angezeigt werden sollen.

Jetzt können Sie diesen Metakey an wp_list_categories . Diese function stützt sich letztlich auf get_terms , was erklärt, welche Argumente die function annehmen kann. Sie können die Suche auf Begriffe beschränken, für die der Metakey definiert ist und die entsprechend diesem Metakey angeordnet sind. Dies beläuft sich auf:

 $args = array ( 'title_li' -> '', 'meta_key' -> 'my_cat_meta', 'orderby'-> 'meta_key'); wp_list_categories ($args); 

Ein etwas hacky Weg wäre, das Feld ‘description’ zu verwenden, das ein Standardfeld in WP-Kategorien ist. Bei vielen Designs wird sie nicht angezeigt. Sie können sie daher zum Speichern von Metadaten verwenden. In diesem Fall könntest du dein eigenes Metafeld erstellen und verwenden:

 $args = array ( 'title_li' -> '', 'orderby'-> 'description'); wp_list_categories ($args); 

Sie können die function shuffle () verwenden, um die Kategorien in zufälliger Reihenfolge zu erhalten. So was,

 $categories = get_categories(); shuffle( $categories ); 

Hoffe, das funktioniert für dich!

wp_list_categories (); geben Sie formatierte Ausgabe,

Um Elemente für ein benutzerdefiniertes Layout anzuzeigen, können Sie die function get_categories () oder get_terms () verwenden.