von

WordPress Seiten mit bestimmten Templates auflisten

twittericon
evaluationsicon
Fanden Sie diesen Artikel hilfreich? Ja | Nein

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. ;)

Steve Brauer

Ich bin ein diplomierter Wirtschaftsinformatiker und meine Tätigkeiten im Onlinemarketing begannen 2008 mit dem Management von Webprojekten bei der Schach&Matt GmbH. Nachdem ich Feuer für alle Facetten der Branche gefangen habe machte ich mich 2009 mit r-evolve selbstständig und arbeite seit 2013 für die Werbeagentur Narciss & Taurus in Dresden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.