web-dev-qa-db-ja.com

ページのタイトル、URL、ページの抜粋を取得する

私は次のような設定をしています:フロントページは '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>
2

コーデックスにはまさにあなたが必要とするものがあります: 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
pcarvalho

どこでも公開APIを使う

ループの中では、 get_the_excerpt() を使用できます(引数なしで)。これは$post/$page->excerptよりも優れています。フィルタを付けてページ/投稿にパスワードがあるかどうかもチェックするからです。

1
kaiser