get_page_by_path()


WordPressのget_page_by_path()関数は、指定されたパスに基づいてページまたは投稿を取得するために使用されます。この関数は、ページのスラッグやパスを指定して、該当するページオブジェクトを取得する際に役立ちます。

構文

get_page_by_path( string $page_path, string $output = OBJECT, string|array $post_type = 'page' );

引数の説明:

  • $page_path (string) — 取得したいページのスラッグまたはパスを指定します。
  • $output (string) — 戻り値の形式を指定します。デフォルトはOBJECTで、他にARRAY_AやARRAY_Nを指定できます。
  • $post_type (string|array) — 検索する投稿タイプを指定します。デフォルトは'page'です。

例1: スラッグに基づいてページを取得

この例では、スラッグが「about-us」のページを取得します。

$page = get_page_by_path('about-us'); if ($page) { echo $page->post_title; }

例2: カスタム投稿タイプのページを取得

カスタム投稿タイプ「product」のスラッグが「sample-product」のページを取得します。

$product = get_page_by_path('sample-product', OBJECT, 'product'); if ($product) { echo $product->post_title; }

例3: 配列形式でページを取得

ページを配列形式で取得し、タイトルを表示します。

$page = get_page_by_path('contact', ARRAY_A); if ($page) { echo $page['post_title']; }

例4: 複数の投稿タイプを指定して取得

「page」と「post」の両方の投稿タイプからスラッグが「news」のページを取得します。

$page = get_page_by_path('news', OBJECT, array('page', 'post')); if ($page) { echo $page->post_title; }

例5: ページのIDを取得

スラッグが「services」のページのIDを取得します。

$page = get_page_by_path('services'); if ($page) { echo $page->ID; }

例6: ページのコンテンツを表示

スラッグが「privacy-policy」のページのコンテンツを表示します。

$page = get_page_by_path('privacy-policy'); if ($page) { echo apply_filters('the_content', $page->post_content); }

例7: ページの投稿日を表示

スラッグが「blog」のページの投稿日を表示します。

$page = get_page_by_path('blog'); if ($page) { echo get_the_date('', $page->ID); }

例8: ページのサムネイルを表示

スラッグが「gallery」のページのサムネイルを表示します。

$page = get_page_by_path('gallery'); if ($page) { echo get_the_post_thumbnail($page->ID); }

注意点

  • 指定したパスに該当するページがない場合、get_page_by_path()はnullを返します。
  • パスが複数のページに一致する場合、最初に一致したページが返されます。
  • カスタム投稿タイプを使用する場合、$post_type引数を正しく指定する必要があります。

関連機能: