概要
get_page_by_title
関数は、指定されたページタイトルに基づいてページ情報を取得するための関数です。この関数は、特定のページをプログラムmatically取得したり、表示したりしたい場合に非常に便利です。以下のような機能の実装時によく使用されます:
- 特定のページのコンテンツを表示する場合
- ナビゲーションメニューの生成
- コンテンツの条件付き表示
- ショートコードでページを取得して表示
- カスタムテンプレートの生成
- オプションページの取得
- ページの存在チェック
- リダイレクト用のページ情報取得
構文
get_page_by_title( $title, $output, $filter );
パラメータ
$title
(string) 必須: 取得したいページのタイトル。$output
(string) 任意: 取得したデータの形式。デフォルトはOBJECT
。$filter
(string|bool) 任意: フィルタリングの方法。デフォルトは''
。
戻り値
WP_Post
オブジェクト (ページが見つかった場合)、または null
(ページが見つからない場合)。
関連する関数
使用可能なバージョン
get_page_by_title
関数は、WordPress 2.9.0以降で利用可能です。
コアファイルのパス
wp-includes/post.php
サンプルコード
サンプルコード1: ページタイトルからページ情報を取得
$page = get_page_by_title('サンプルページ');
if ( $page ) {
echo 'ページID: ' . $page->ID;
}
このコードは、タイトル「サンプルページ」のページ情報を取得し、そのIDを表示します。
サンプルコード2: カスタム出力でページ情報を取得
$page = get_page_by_title('サンプルページ', 'ARRAY_A');
if ( $page ) {
echo 'ページタイトル: ' . $page['post_title'];
}
この例では、ページを連想配列形式で取得し、ページタイトルを表示しています。
サンプルコード3: ページの存在確認
$page = get_page_by_title('存在しないページ');
if ( !$page ) {
echo 'ページが見つかりませんでした。';
}
このサンプルコードは、タイトルが「存在しないページ」のページを検索し、存在しない場合にはメッセージを表示します。
サンプルコード4: フィルタを用いてページ情報を取得
$page = get_page_by_title('フィルタページ', OBJECT, 'post');
if ( $page ) {
// 特定の投稿タイプの場合の処理
}
このコードでは、指定された投稿タイプに基づいてページ情報を取得し、その後の処理を行うことができます。
サンプルコード5: 複数ページの情報を取得
$titles = ['ページ1', 'ページ2', 'ページ3'];
foreach ( $titles as $title ) {
$page = get_page_by_title($title);
if ( $page ) {
echo 'ページタイトル: ' . $page->post_title . ' (ID: ' . $page->ID . ')<br>';
}
}
このサンプルでは、複数のページタイトルから、一つずつページ情報を取得して表示しています。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | 〇 |
send_headers | |
parse_query | |
pre_get_posts | |
wp | 〇 |
template_redirect | |
get_header | |
wp_head |
get_page_by_title
関数は、特定の WordPress バージョンでは非推奨または削除されていません。