Ich verwende den folgenden Code, um den Inhalt einer anderen WP-Seite in meine Hauptstartseite einzufügen.
Ist es möglich, es mit einer Seite title anstelle einer ID-Nummer arbeiten zu lassen?
Z.B. Nicht $ page_id = 518, sondern $ page_id = 'about' ????
$page_id = 518; //Your Page ID
$page_data = get_page( $page_id );
// Displays the title
echo '<h1>'. $page_data->post_title .'</h1>';
// Displays the content
echo apply_filters('the_content', $page_data->post_content);
?>
Genau dafür gibt es eine Funktion:
get_page_by_title( $page_title, $output = OBJECT, $post_type = 'page' );
Du kannst es so benutzen:
$page = get_page_by_title( 'Start' );
So rufen Sie die Seite von einem bestimmten Beitragstyp ab:
$custom = get_page_by_title( 'Start', OBJECT, 'your_custom_post_type' );
$post = get_page_by_title( 'Start', OBJECT, 'post' );
Beachten Sie, dass diese Funktion in den Status all post sucht. So erhalten Sie möglicherweise einen Entwurf, einen Papierkorb oder einen privaten Beitrag. Sie sollten das Ergebnis überprüfen mit:
$status = get_post_status( $page );
if ( 'publish' !== $status )
return; // do not show unpublished posts
Eine verwandte Funktion ist get_page_by_path()
:
$page = get_page_by_path( 'about/contact' );