師走ですね。
師走といえば。。。大掃除?毎年忙しすぎてそんなこと、気にしてられないマサヲシです。
「get_queried_object()」がちょいちょい便利ということ。
いつも通り作っていても、何かしら、ボタンの掛け違い程度の誤差で、ページの情報の取得がうまくいかないことが、ちょいちょいあります。
それは、ほんの些細なミスで、クエリをリセットできていなかったとか、パーマリンクの設定が微妙だったとか、なにかしらあったります。
そんなときにそのページの情報が取得できる「get_queried_object()」が便利だったので覚書。
なにが出来るのかというと
現在クエリされているオブジェクトを取得します。例えば:
- 単一投稿ページを表示中なら、投稿オブジェクト。
- 固定ページを表示中なら、固定ページのオブジェクト。
- カテゴリーアーカイブを表示中なら、カテゴリーオブジェクト。
- 投稿者アーカイブを表示中なら、投稿者オブジェクト。
- 等々。
これは $wp_query->get_queried_object() のラッパー関数です。
引用:関数リファレンス/get queried object
ということだそうな。
簡単に言うと、投稿、固定ページ、アーカイブページ、カスタム投稿タイプ、何であろうとも、そのページの情報が取得できます。
<?php
$queried_object = get_queried_object();
var_dump( $queried_object );
?>
を書いて、そのページを取得してみてはいかがでしょうか。
なにかの訳には立つかもしれません。
別にページの情報の確認だけじゃなく、その情報を使うためにとってもいいのですよ。
object(WP_Post)#2373 (24) {
["ID"]=>
int(453)
["post_author"]=>
string(1) "1"
["post_date"]=>
string(19) "2016-11-30 22:53:31"
["post_date_gmt"]=>
string(19) "2016-11-30 13:53:31"
["post_content"]=>
string(0) ""
["post_title"]=>
string(18) "サイトマップ"
["post_excerpt"]=>
string(0) ""
["post_status"]=>
string(7) "publish"
["comment_status"]=>
string(6) "closed"
["ping_status"]=>
string(6) "closed"
["post_password"]=>
string(0) ""
["post_name"]=>
string(7) "sitemap"
["to_ping"]=>
string(0) ""
["pinged"]=>
string(0) ""
["post_modified"]=>
string(19) "2016-11-30 22:53:31"
["post_modified_gmt"]=>
string(19) "2016-11-30 13:53:31"
["post_content_filtered"]=>
string(0) ""
["post_parent"]=>
int(0)
["guid"]=>
string(31) "https://www.imd-net.com/?page_id=***"
["menu_order"]=>
int(0)
["post_type"]=>
string(4) "page"
["post_mime_type"]=>
string(0) ""
["comment_count"]=>
string(1) "0"
["filter"]=>
string(3) "raw"
}
ちなみに取得出来る情報はこんな感じ
※固定ページの情報です。