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

get_queried_object()

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

基本構文

現在のクエリ(DBへの問い合わせ条件)に関するオブジェクトを返します。ページタイプによって、返すものが異なります。

get_queried_object();

引数

なし。

実行結果

戻り値(返す値):現在のクエリ(DBへの問い合わせ条件)に関するオブジェクト。
下記のようにページタイプによって返す内容が異なります。

主なページタイプ別の戻り値

カテゴリー、タグ、タクソノミーアーカイブページ タームのオブジェクト(タームのIDやスラッグ、名前など)
投稿タイプアーカイブページ 投稿タイプのオブジェクト(カスタム投稿タイプのIDやスラッグ、名前など)
記事ページ 記事のオブジェクト(投稿や固定ページのIDやスラッグ、タイトル、本文など)
著者別アーカイブページ 著者情報のオブジェクト(著者名のIDや名前など)

例えばcategory.phpで実行した場合は、現在指定しているカテゴリーのIDや名前、スラッグなどを含むオブジェクトを返します。single.phpで実行した場合は、記事のタイトルや公開日、本文、所属する投稿タイプなどを含むオブジェクトを返します。

例1.アーカイブページで実行した場合

category.phpで下記コードを実行してget_queried_object()で取得したオブジェクトの中身を見てみましょう。

<?php
$obj = get_queried_object();
echo '<pre>';
print_r($obj);
echo '</pre>';
?>

実行結果は下記です。このようにカテゴリー別記事一覧を表示する際のクエリの内容をオブジェクトとして返します。

WP_Term Object
(
    [term_id] => 23
    [name] => examplecategory
    [slug] => examplecategory
    [term_group] => 0
    [term_taxonomy_id] => 23
    [taxonomy] => category
    [description] => 
    [parent] => 0
    [count] => 1
    [filter] => raw
    [term_order] => 4
    [cat_ID] => 23
    [category_count] => 1
    [category_description] => 
    [cat_name] => examplecategory
    [category_nicename] => examplecategory
    [category_parent] => 0
)

オブジェクトから任意のプロパティの値を取り出すためには以下のようにします。

<?php
$obj = get_queried_object();
echo $obj -> term_id; // 現在リクエストしているカテゴリーのIDを取得して表示
?>

例2.記事ページで実行した場合

single.phpで下記コードを実行してget_queried_object()で取得したオブジェクトの中身を見てみましょう。

<?php
$obj = get_queried_object();
echo '<pre>';
print_r($obj);
echo '</pre>';
?>

実行結果は下記です。こちらはcategory.phpのときと異なり、記事に関するオブジェクトを返します。

WP_Post Object
(
    [ID] => 845
    [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] => https://example.com/?p=845
    [menu_order] => 0
    [post_type] => post
    [post_mime_type] => 
    [comment_count] => 0
    [filter] => raw
)

オブジェクトから任意のプロパティの値を取り出すためには以下のようにします。

<?php
$obj = get_queried_object();
echo $obj -> ID; // 現在リクエストしている記事のIDを取得して表示
?>

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

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

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