Jalara Studio

veröffentlicht am

Inhalte von Post Types per Shortcode ausgeben

# # #


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