- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
関数リファレンス/get page by path
提供: WordPress Codex 日本語版
< 関数リファレンス
2015年7月31日 (金) 17:25時点におけるMiccweb (トーク | 投稿記録)による版 (最新版のマージ 149838}} <!-- 02:22, 26 February 2015 Mindshare 版 -->)
引数に渡されたパスで示される固定ページオブジェクトを返します。戻り値の種類は第 2 引数で指定します。パスで示されるオブジェクトの種類を第 3 引数で指定できます。
使い方
<?php $page = get_page_by_path( $page_path, $output, $post_type ); ?>
パラメータ
- $page_path
- (文字列) (必須) ページを示すパス
- 初期値: なし
- パスは、親から子への階層にしたがって各ページのスラッグをスラッシュ(/)で区切って並べた文字列です。文字列の最初と最後にスラッシュが有っても無くてもかまいません。
- これは、'grand_parent/parent/the_page' といった文字列であり、パーマリンクの設定を投稿名にしているときのページ URL からサイトアドレス部分を除いたものが指定できますが、パーマリンクの設定に係わらず '?p=123' といった ID による文字列は指定できません。
- $output
- (文字列) (オプション) 戻り値の種類
- 初期値: OBJECT
-
ARRAY_A
- 連想配列 -
ARRAY_N
- インデックス配列 -
OBJECT
- 投稿オブジェクト
- $post_type
- (文字列 または array) (オプション) 投稿タイプまたは投稿タイプの配列。
- 初期値: 'page'
-
'page'
- 固定ページ
戻り値
- (WP_Post|null)
- 成功時には WP_Post 、失敗時に null を返す。
- (mixed)
- パスで指定された固定ページオブジェクトを返します。失敗すると Null を返します。
用例
固定ページのパス
最初の例は 'pagename' クエリの 'index.php?pagename=parent-page/sub-page' と同じです。
上のコードは次のように書くことができます('parent-page/sub-page' を固定ページへの正しいパスとします):
get_page_by_path( 'parent-page/sub-page' );
階層を持たないカスタム投稿タイプの場合、単純に post_type パラメータにスラッグを追加する必要があります。
// 何も返さない。animal は animal カスタム投稿タイプのリライトスラッグとする get_page_by_path( 'animals/cat', OBJECT, 'animal' ); // スラッグ 'cat' を持つ animal のカスタム投稿オブジェクトを返す get_page_by_path( 'cat', OBJECT, 'animal' );
URL から最後のパートを取り出すには basename() および untrailingslashit() 関数が便利です:
$page_path = 'animals/cat/'; get_page_by_path( basename( untrailingslashit( $page_path ) ) , OBJECT, 'animal');
参考
- グローバル変数: (オブジェクト) $wpdb を使用します。
- Returns false for "private" pages/posts
変更履歴
- バージョン 2.1.0 : 新規導入
ソースファイル
get_page_by_path() は wp-includes/post.php
に含まれています。
関連
固定ページ: get_all_page_ids(), get_ancestors(), get_page_link(), get_page_by_path(), get_page_by_title(), get_page_children(), get_page_hierarchy(), get_page_uri() /en, get_pages(), is_page(), page_uri_index() /en, wp_list_pages(), wp_page_menu()
関数リファレンス、テンプレートタグ目次もご覧ください。
最新英語版: WordPress Codex » Function Reference/get_page_by_path (最新版との差分)