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

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

「関数リファレンス/get page by path」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(en:Function_Reference/get_page_by_path 22:21, 4 February 2014 Bcworkz 版を反映して残りを翻訳。)
(「パラメータ」についての表記を「使い方」で使われているパラメータに合わせて修正)
19行目: 19行目:
 
: これは、<tt>'grand_parent/parent/the_page'</tt> といった文字列であり、パーマリンクの設定を''投稿名''にしているときのページ URL からサイトアドレス部分を除いたものが指定できますが、パーマリンクの設定に係わらず <tt>'?p=123'</tt> といった ID による文字列は指定できません。
 
: これは、<tt>'grand_parent/parent/the_page'</tt> といった文字列であり、パーマリンクの設定を''投稿名''にしているときのページ URL からサイトアドレス部分を除いたものが指定できますが、パーマリンクの設定に係わらず <tt>'?p=123'</tt> といった ID による文字列は指定できません。
  
{{Parameter|$object_id|文字列|戻り値の種類|オプション|OBJECT}}
+
{{Parameter|$output|文字列|戻り値の種類|オプション|OBJECT}}
 
:* <code>ARRAY_A</code> - 連想配列
 
:* <code>ARRAY_A</code> - 連想配列
 
:* <code>ARRAY_N</code> - インデックス配列
 
:* <code>ARRAY_N</code> - インデックス配列
 
:* <code>OBJECT</code> - 投稿オブジェクト
 
:* <code>OBJECT</code> - 投稿オブジェクト
  
{{Parameter|$object_type|文字列|オブジェクトの種類|オプション|'page'}}
+
{{Parameter|$post_type|文字列|オブジェクトの種類|オプション|'page'}}
 
:* <code>'page'</code> - 固定ページ
 
:* <code>'page'</code> - 固定ページ
 
:* <code>'category'</code> - カテゴリー
 
:* <code>'category'</code> - カテゴリー

2015年1月1日 (木) 16:19時点における版

引数に渡されたパスで示される固定ページオブジェクトを返します。戻り値の種類は第 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
文字列) (オプション) オブジェクトの種類
初期値: 'page'
  • 'page' - 固定ページ
  • 'category' - カテゴリー

戻り値

(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 を使用します。

変更履歴

ソースファイル

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