Ich habe gestern an einem neuen Thema gearbeitet und festgestellt, dass ich eine Dropdown-Option in meinem Themenbereich bereitstellen musste, in der der Benutzer eine Seite aus einer Liste auswählen konnte, die alle von ihm veröffentlichten Seiten enthielt. Um dies zu tun, musste ich ein Array erstellen, das alle Benutzerseiten sammelte, damit ich sie dann in meinem Optionsfeld anzeigen konnte. Nachfolgend finden Sie eine Anleitung, die Ihnen zeigt, wie Sie eine Reihe von WordPress-Seiten zur Verwendung in Ihrem Design oder Plugin speichern können, sowie eine Anleitung zum Erstellen eines Dropdown-Menüs von Seiten.
Erstellen Sie ein Array von Seiten
Unten ist das Code-Snippet, das erforderlich ist, um dies alles zu ermöglichen. Es sammelt eine Liste Ihrer Seiten und speichert sie in der Variablen $pages_array, damit Sie sie später durchlaufen können. Und ja, die get_pages-Funktion gibt bereits ein Array zurück, aber der Zweck des Snippets besteht darin, ein einfacheres assoziatives Array zu erstellen, bei dem die Schlüssel die Seiten-ID-Nummern und der Wert der Seitenname sind.
$pages_array = array( 'Choose A Page' );
$get_pages = get_pages( 'hide_empty=0' );
foreach ( $get_pages as $page ) {
$pages_array[$page->ID] = esc_attr( $page->post_title );
}
Jetzt haben Sie ein assoziatives Array von Seiten, das Sie einfach durchlaufen, in einer globalen Variablen speichern oder was auch immer Sie wollen.
Erstellen Sie ein Auswahlfeld-Dropdown von Seiten
Sie können ein Auswahl-Dropdown erstellen, in dem ein Benutzer eine Seite aus einem Formular auswählen kann, indem er eine Reihe von Seiten durchläuft (wie im vorherigen Abschnitt erwähnt). WordPress verfügt jedoch über eine integrierte Funktion, die in WP 2.1 hinzugefügt wurde, sodass Sie automatisch erstellen können ein Auswahl-Dropdown mit einer einfachen Funktion namens „wp_dropdown_pages“, das verschiedene Parameter akzeptiert. Unten ist ein Beispiel für die Funktion in Aktion:
wp_dropdown_pages( array(
'child_of' => 0,
'sort_order' => 'ASC',
'sort_column' => 'post_title',
'hierarchical' => 1,
'post_type' => 'page'
) );
Erfahren Sie mehr über wp_dropdown_pages von der WordPress-Codex.