WordPress Dropdown-Kategorie als Array für die Verwendung in Seitenerstellung

Ich brauche WordPress-Kategorie als Dropdown. Soweit mein Code

function cat_drop_down(){ $categories_array = array(); $categories = get_categories(); foreach( $categories as $category ){ $categories_array[] = $category->term_id; } return $categories_array; } 

Dies macht die Drop-Down-function perfekt, aber die Kategorie-ID wird nicht übergeben. Sein Rendering HTML so

  2 14 1  

So bekomme ich nur 0,1,2 Werte statt 2,14,1 dieser Kategorie IDs. Was mache ich falsch?

Solutions Collecting From Web of "WordPress Dropdown-Kategorie als Array für die Verwendung in Seitenerstellung"

Sie sind teilweise korrekt, Sie übergeben keine Katzen-ID in Ihrem Parameter. Versuchen

 $categories_array[ $category->term_id ] = $category->name; 

Jetzt erhalten Sie die Kategorie-ID als Dropdown-Wert.

  function cat_drop_down(){ $categories_array = array(); $args = array( 'type' => 'post', 'child_of' => 0, 'parent' => '', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => false, 'hierarchical' => 1, 'exclude' => '', 'include' => '', 'number' => '', 'taxonomy' => 'category', 'pad_counts' => false ); $categories = get_categories($args); $i =0; foreach( $categories as $category ){ $categories_array[$i]['id'] = $category->term_id; $categories_array[$i]['name'] = $category->name; $i++; } return $categories_array; } $cats = cat_drop_down(); echo ''; 

Es gibt eine Standard-Wordpress-function namens. Es gibt alle Kategorien in einer Liste mit Kategorie-ID zurück.

 wp_list_categories(); 

Nein, du machst nichts falsch. Ihr Array von Kategorie-IDs ist in Ordnung. Ich verstehe, dass Sie dieses Array an den Seitengenerator übergeben, der wiederum das Dropdown-Menü für select Formularauswahl erstellt. Die Werte 0,1,2 sind einfach Indizes von Ihrem $categories_array . Wenn Sie weiterhin Zugriff auf Ihr $categories_array haben und der Wert der ausgewählten Option 1 ist, dann wählen Sie $id = $categories_array[1] – also 14.

Wenn Sie Ihr Auswahl-Dropdown statt Ihres Seiten-Builders erstellen würden, könnte es so aussehen:

  

Dann erhalten Sie die ausgewählte Kategorie-ID direkt.

Wenn Ihr Page Builder ein Array von Paaren akzeptiert – ID, Name, dann erhalten Sie eine Auswahl wie in @ Aruns Antwort. Natürlich müssen Sie den Code zum Erstellen Ihres Arrays in den von @Arun vorgeschlagenen Code ändern.