私は次のような設定をしています:フロントページは 'static'として設定されていて、テーマページのテンプレートを使います。このテンプレート/フロントページでは、ページのタイトル、URL、およびAboutページの抜粋を取得する必要があります。
私が必要としているのとまったく同じコードを見つけましたが、これとは異なるアプローチがある場合は、ページIDではなくページスラッグまたはタイトルを使用します。
<?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>
後で編集:peteroakが提供した回答に基づいて、これは完全な作業コードです:
<?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>
コーデックスにはまさにあなたが必要とするものがあります: get_page_by_title()
$page = get_page_by_title( 'About' );
$the_excerpt = $page->post_excerpt;
または
$page = get_page_by_path( 'parent-page/sub-page' );
ループの中では、 get_the_excerpt()
を使用できます(引数なしで)。これは$post/$page->excerpt
よりも優れています。フィルタを付けてページ/投稿にパスワードがあるかどうかもチェックするからです。