¿Obtener la identificación de la página por título?

2

Estoy usando el siguiente código para insertar el contenido de otra página wp en mi página de inicio principal.

¿Es posible hacerlo funcionar con una página título en lugar de un número de identificación?

Por ejemplo. No $ page_id = 518 pero $ page_id = 'about' en su lugar ????

$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);
?>
    
pregunta speedypancake 25.05.2013 - 10:18

1 respuesta

4

Hay una función exactamente para eso:

get_page_by_title( $page_title, $output = OBJECT, $post_type = 'page' );

Puedes usarlo así:

$page = get_page_by_title( 'Start' );

Para obtener la página de un tipo de publicación específica:

$custom = get_page_by_title( 'Start', OBJECT, 'your_custom_post_type' );
$post   = get_page_by_title( 'Start', OBJECT, 'post' );

Tenga en cuenta que esta función buscará en todos los estados de publicación. Por lo que puede obtener un borrador, una publicación privada o en papelera. Debe comprobar el resultado con:

$status = get_post_status( $page );

if ( 'publish' !== $status )
    return; // do not show unpublished posts

Una función relacionada es get_page_by_path() :

$page = get_page_by_path( 'about/contact' );
    
respondido por el fuxia 25.05.2013 - 10:29

Lea otras preguntas en las etiquetas