WordPress Seiten mit bestimmten Templates auflisten
Kann man WordPressseiten auflisten, die ein bestimmtes Template verwenden?
Ja das geht. Sogar recht leicht, wie das folgende Beispiel zeigt…
$pages_one = get_pages(array( 'meta_key' => '_wp_page_template', 'meta_value' => 'template_cityansicht.php', 'compare' => '=', 'sort_column' => 'menu_order', 'sort_order' => 'DESC', ));
Dieser schnipsel holt sich alle Seiten, die das Template ‚temülate_cityansicht.php‘ verwenden. Es gilt also der Name der Datei, wie sie Im FTP-Client angezeigt wird.
Wer nach so einem Stück Quellcode gesucht hat wird schon wissen wofür man das verwenden kann, allerdings kann man ruhig die Frage nach dem Sinn dahinter stellen. Schließlich lassen sich Menüs und auch Templates mit WordPress sehr leicht zusammenklicken. Wenn es um eine Seite mit sehr viel Content geht, kann es sehr viel Zeit einsparen wenn Menüs mitdenken und sich selbst zusammenbauen. Üblicherweise erfolgt dies über den Aufbau der Seite, so das zum Beispiel eine Elternseite mitsamt ihren Kinderseiten in einem Menü aufgelistet werden. In seltenen Fällen ist es aber nicht so einfach, zum Beispiel wenn Seiten sehr fein gruppiert und Wartungsarbeiten dabei auf ein Minimum reduziert werden sollen.
Eine konkretere Einsatzmöglichkeit wäre es alle Unterseiten einer Website zusammenführen die bestimmte Templates verwenden, so wie es der das nachfolgende Beispiel mit den Templates template_cityansicht.php und template_neue_cityansicht.php zeigt:
$pages_one = get_pages(array( 'meta_key' => '_wp_page_template', 'meta_value' => 'template_cityansicht.php', 'compare' => '=', 'sort_column' => 'menu_order', 'sort_order' => 'DESC', )); $pages_two = get_pages(array( 'meta_key' => '_wp_page_template', 'meta_value' => 'template_neue_cityansicht.php', 'compare' => '=', 'sort_column' => 'menu_order', 'sort_order' => 'DESC', )); $pages = array_merge($pages_one, $pages_two);
array_merge ist auch ein ziemlich praktisches Stück PHP. 😉
Kategorien
- Allgemein (2)
- Onlinemarketing (16)
- Onlinemarketing Beratung (11)
- Projekte (3)
- SEO (8)
- Social Media (1)
- Sonstiges (13)
- Webdesign (10)
- Webentwicklung (22)
- WordPress (2)