получить заголовок страницы, 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>
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' );
Используйте общедоступный API везде
Внутри цикла вы можете использовать get_the_excerpt()
( без аргументов). Это лучше, чем $post/$page->excerpt
, так как он также прикрепляет фильтры и проверяет, есть ли пароль на странице/публикации.