• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/get page by path

提供: WordPress Codex 日本語版
移動先: 案内検索

引数に渡されたパスで示される固定ページオブジェクトを返します。戻り値の種類は第 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


変更履歴

ソースファイル

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最新版との差分