wake-up-neo.net

Seiten-ID nach Titel abrufen?

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);
?>
2
speedypancake

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' );
4
fuxia