J'utilise le code suivant pour insérer le contenu d'une autre page wp dans ma page d'accueil principale.
Est-il possible de le faire fonctionner avec une page titre au lieu d'un numéro d'identification?
Par exemple. Pas $ page_id = 518 mais $ page_id = 'à propos' à la place ????
$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);
?>
Il y a une fonction exactement pour ça:
get_page_by_title( $page_title, $output = OBJECT, $post_type = 'page' );
Vous pouvez l'utiliser comme ceci:
$page = get_page_by_title( 'Start' );
Pour obtenir la page d'un type de message spécifique:
$custom = get_page_by_title( 'Start', OBJECT, 'your_custom_post_type' );
$post = get_page_by_title( 'Start', OBJECT, 'post' );
Attention, cette fonction recherchera dans tous statuts. Vous pouvez donc obtenir un brouillon, un message mis à la corbeille ou privé. Vous devriez vérifier le résultat avec:
$status = get_post_status( $page );
if ( 'publish' !== $status )
return; // do not show unpublished posts
Une fonction associée est get_page_by_path()
:
$page = get_page_by_path( 'about/contact' );