получить заголовок страницы, URL-адрес и выдержку из страницы


У меня есть следующая настройка: первая страница настроена как "статическая" и использует шаблон страницы темы. На этом шаблоне/главной странице мне нужно получить заголовок страницы, URL-адрес и выдержку со страницы О программе.

Я нашел этот код, который делает именно то, что мне нужно, но я сомневаюсь, есть ли другой подход к этому, который использовал бы не идентификатор страницы, а заголовок страницы или заголовок.

<?php
    $page_id = 13;
    $page_data = get_page( $page_id );
    $the_excerpt = $page_data->post_excerpt;
    $title = $page_data->post_title;
?>
<a href="<?php echo get_permalink(13); ?>">
    <?php echo $page_data->post_title; ?>
</a>

Более позднее редактирование: Основываясь на ответе, предоставленном питероуком, это полный рабочий код:

<?php
    $page = get_page_by_title( 'About' );
    $the_excerpt = $page->post_excerpt;
    $page_data = get_page( $page );
    $title = $page_data->post_title;
?>
<header class="entry-header">
    <h1 class="entry-title">
        <a href="<?php echo esc_url( get_permalink( get_page_by_title( 'About' ) ) ); ?>">
            <?php echo $page_data->post_title; ?>
        </a>
    </h1>
</header>   
    <div class="entry-content"><?php echo $page->post_excerpt; ?>
        <a href="<?php echo esc_url( get_permalink( get_page_by_title( 'About' ) ) ); ?>">more +</a>
    </div>
Author: George Grigorita, 2012-07-31

2 answers

В кодексе есть именно то, что вам нужно: get_page_by_title()

Пример

 $page = get_page_by_title( 'About' );
 $the_excerpt = $page->post_excerpt;

Или

 $page = get_page_by_path( 'parent-page/sub-page' );
 6
Author: pcarvalho, 2012-07-31 10:51:08

Используйте общедоступный API везде

Внутри цикла вы можете использовать get_the_excerpt() ( без аргументов). Это лучше, чем $post/$page->excerpt, так как он также прикрепляет фильтры и проверяет, есть ли пароль на странице/публикации.

 2
Author: kaiser, 2012-07-31 10:51:41