WordPress 固定ページの情報を取得して表示する ID/タイトル/本文
WordPressのget_page_by_path()
を使って固定ページの本文やタイトルなどの情報を取得して表示する方法を解説します。また、get_post_field
を使用するとIDから情報を取得することができます。
使い方としては、固定ページに別の固定ページの本文を表示させたいときなどに使用します。
コード・実装例
基本コード
<?php
$page_obj = get_page_by_path('ページスラッグ');
$page = get_post( $page_obj );
echo $page->ID; //IDを表示
echo $page->post_title; //タイトルを表示
echo $page->post_content; //本文を表示
?>
1. get_page_by_path(‘ページスラッグ’)
ページスラッグ
に固定ページのスラッグを指定します。
子ページの場合は 親ページスラッグ/子ページスラッグ
のように /
を間に加えます。
2. echo $page->ID
get_post に基づいて表示させたい情報を指定します。
例)ページスラッグが「about」の固定ページの情報を表示する
ID、タイトル、本文を取得して表示
<?php
$page_obj = get_page_by_path('about');
$page = get_post( $page_obj );
echo $page->ID; //IDを表示
echo $page->post_title; //タイトルを表示
echo $page->post_content; //本文を表示
?>
作成者IDを取得して表示
<?php
$page_obj = get_page_by_path('about');
$page = get_post( $page_obj );
echo $page->post_author;
?>
投稿日時を取得して表示
<?php
$page_obj = get_page_by_path('about');
$page = get_post( $page_obj );
echo $page->post_date; //YYYY-MM-DD HH:MM:SS
?>
カテゴリーIDを取得して表示
<?php
$page_obj = get_page_by_path('about');
$page = get_post( $page_obj );
echo $page->post_category;
?>
スラッグを取得して表示
<?php
$page_obj = get_page_by_path('about');
$page = get_post( $page_obj );
echo $page->post_name;
?>
抜粋を取得して表示
<?php
$page_obj = get_page_by_path('about');
$page = get_post( $page_obj );
echo $page->post_excerpt;
?>
ショートコードで表示
使用例
[cont slug="about"]
[cont slug="about/child"]
functions.php
<?php
function add_sc_get_page_content( $atts ) {
// 未入力の場合の初期値を設定
$atts = shortcode_atts(array(
"slug" => 'index',
), $atts);
$page_obj = get_page_by_path( $atts['slug'] );
$content = apply_filters( 'the_content', $page_obj->post_content );
return $content;
}
add_shortcode('cont', 'add_sc_get_page_content');
?>
IDから固定ページの情報を取得する
get_post_field
を使用して固定ページの情報を取得します。
コード
<?php get_post_field( $field, $post_id, $context ); ?>
使用例
$post_id = get_post_field('post_content', $post->ID);
デザインを本で学びたい人向けの記事
Wordpress デザイナーの私的メモ帳
設計編
基本
投稿関連
固定ページ関連
カテゴリー関連
タクソノミー、ターム関連
テンプレート作成
- category.php カテゴリー専用テンプレートを作る
- archive.php カスタム投稿タイプ専用テンプレートを作る
- taxonomy.php カスタムタクソノミー、タームページを作る
- get_template_part() 外部ファイル・テンプレートを読み込む