In WordPress lassen sich Inhalte von Beiträgen, Seiten und weiteren Post Types über Shortcodes ausgeben.
Hierfür muss es nicht immer ein Plugin sein. Eine Funktion für einen Shortcode lässt sich einfach definieren und in ein seitenspezifisches Plugin oder in die Datei functions.php des Child Themes einfügen.
Im Folgenden wird eine Funktion für einen Shortcode erstellt, der - bei Angabe des der Titels eines Beitrages - den Inhalt des jeweiligen Beitrages ausgeben wird:
function shortcode_content_per_title( $atts ){
if( isset( $atts['title'] ) ):
$title = $atts['title'];
else:
echo '';
endif;
$my_post = get_page_by_title( $title, OBJECT, 'post' );
return do_shortcode( $my_post->post_content );
}
add_shortcode('content','shortcode_content_per_title',9);
Nach der Angabe des Shortcodes [content title="Rezept fürs Brot backen"] im Bearbeitungsbereich eines Post Types wird der Inhalt des Beitrages mit dem Beispiel-Titel Rezept fürs Brot backen ausgegeben.
Inhalt von weiteren Post Types ausgeben
Möchtest du nicht nur Inhalte von Beiträgen, sondern auch von Seiten ausgeben, so ändere in der WordPress-Funktion get_page_by_title()
1 die Angabe 'post'
in 'page'
. Sollen stattdessen Inhalte von Custom Post Type wie Film oder Rezepte ausgeben, so gib stattdessen dessen Post Type an (z.B. 'film'
, 'rezepte'
).
Links
- 1↑ WordPress Codex
get_page_by_title( $page_title, $output, $post_type )
:
Buchempfehlung
Anzeige | Affiliate-Link*Wer wissen möchte, wie man WordPress mit Hilfe von Plugins und Themes erweitern kann, dem sei das 388 Seiten starke, 2019 neu veröffentlichte Taschenbuch WordPress für Entwickler: Crashkurs des Webentwicklers David Remer empfohlen.