WEB制作のための情報サイト / unazuki Library

get_post()

基本構文と使い方(引数・実行結果)

基本構文

指定した投稿情報を取得します。

get_post($post,$output,$filter);

引数

引数必須/任意引数に指定するもの
第1引数
$post
任意記事のID / オブジェクト
初期値null
null、false、0、その他falseとみなされる値の場合、現在の記事情報を返します。
第2引数
$output
任意戻り値の形式を下記から指定(文字列
OBJECT / ARRAY_A (連想配列) / ARRAY_N (数値配列)
初期値OBJECT
第3引数
$filter
任意適用するフィルターを下記から指定(文字列
raweditdbdisplay
初期値raw

実行結果

戻り値(返す値):指定した投稿情報

例1.任意の投稿データをオブジェクトで取得

下記のコードはID100の記事データを取得して$postに格納し、print_r()で中身を表示します。

<?php
$post = get_post(100);
echo '<pre>';
print_r($post);
echo '</pre>';
?>

結果、下記を表示します。

WP_Post Object
(
    [ID] => 100
    [post_author] => 1
    [post_date] => 2026-01-13 09:10:49
    [post_date_gmt] => 2026-01-13 00:10:49
    [post_content] => 本文です
    [post_title] => タイトルです
    [post_excerpt] => 
    [post_status] => publish
    [comment_status] => open
    [ping_status] => open
    [post_password] => 
    [post_name] => %e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%81%a7%e3%81%99
    [to_ping] => 
    [pinged] => 
    [post_modified] => 2026-01-13 09:10:49
    [post_modified_gmt] => 2026-01-13 00:10:49
    [post_content_filtered] => 
    [post_parent] => 0
    [guid] => http://library.unazuki.online/wp/?p=845
    [menu_order] => 0
    [post_type] => post
    [post_mime_type] => 
    [comment_count] => 0
    [filter] => raw
)

様々な記事に関するデータが含まれていることがわかります。$postからタイトルを取得するには下記のようにpost_titleプロパティにアクセスします。

<?php
$post = get_post(100);
echo $post->post_title;
?>

例2.任意の投稿データを連想配列で取得

下記のコードはID100の記事データを連想配列で取得して$postに格納し、print_r()で中身を表示します。

<?php
$post = get_post(100,'ARRAY_A');
echo '<pre>';
print_r($post);
echo '</pre>';
?>

結果、下記を表示します。

Array
(
    [ID] => 100
    [post_author] => 1
    [post_date] => 2026-01-13 09:10:49
    [post_date_gmt] => 2026-01-13 00:10:49
    [post_content] => 本文です
    [post_title] => タイトルです
    [post_excerpt] => 
    [post_status] => publish
    [comment_status] => open
    [ping_status] => open
    [post_password] => 
    [post_name] => %e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e3%81%a7%e3%81%99
    [to_ping] => 
    [pinged] => 
    [post_modified] => 2026-01-13 09:10:49
    [post_modified_gmt] => 2026-01-13 00:10:49
    [post_content_filtered] => 
    [post_parent] => 0
    [guid] => http://library.unazuki.online/wp/?p=845
    [menu_order] => 0
    [post_type] => post
    [post_mime_type] => 
    [comment_count] => 0
    [filter] => raw
    [ancestors] => Array
        (
        )

    [page_template] => 
    [post_category] => Array
        (
            [0] => 23
        )

    [tags_input] => Array
        (
        )

)

$postからタイトルを取得するには下記のようにキーpost_titleにアクセスします。

<?php
$post = get_post(100,'ARRAY_A');
echo $post['post_title'];
?>

学習者向け補足情報

【引数とは】
テンプレートタグ(=関数)を実行する際に、引数を渡すことができるテンプレートタグがあります。引数は、関数の中で使われるので、渡す引数の値によって実行結果が変わってきます。何を処理したいのか、どのようなデータを取得したいのかによって渡す引数が変わります。

【引数について】

  • 指定できる引数の数はテンプレートタグによって異なります。(引数なしもあり)
  • 引数ごとに必須 / 任意が決まっています。(必須は必ず指定、任意は指定しなければ初期値)
  • 引数名(例:$post)は仕様の便宜上の名前と考えてください。(この名前自体はテンプレートタグ実行に関係しません。各引数に何を指定するのかを理解していればOKです。)

※当サイトでは初期値とデフォルト値の言葉の定義を区別せず、原則統一して初期値を採用しています。

関連するテンプレートタグ

テンプレートタグ 説明
get_search_query() 検索キーワードを取得する。
get_post_type() 記事が所属する投稿タイプの名前を返す。
get_queried_object_id() 現在のクエリ(DBへの問い合わせ条件)に関するオブジェクトのIDを返す。
get_queried_object() 現在のクエリ(DBへの問い合わせ条件)に関するオブジェクトを返します。
the_posts_pagination() アーカイブページ(記事一覧ページ)にてページネーションを表示します。
get_the_posts_pagination() アーカイブページ(記事一覧ページ)にて利用可能なページネーションを取得します。
get_posts() 指定した条件にマッチする記事オブジェクトの配列を取得する。
wp_reset_postdata() サブクエリによって上書きされたグローバルオブジェクト$postをリセットしてメインクエリに戻します。
the_post() 処理対象の記事をセットします。
have_posts() 記事が存在するかどうか調べて真偽値を返します。