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 dessen Inhalt 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 Beispiel-Shortcodes [content title=“43. Rezept“] im Bearbeitungsbereich eines Post Types wird der Inhalt des jeweiligen Beitrages 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