[WordPress] ウィジェットで投稿IDを取得する

PHP
スポンサーリンク
こんにちは。 雑食会社員🐼くま子です

個別ページにて、ウィジェットに個別ページの内容を反映させるときにget_postする方法。

スポンサーリンク

背景

ウィジェットに、自作したカスタム投稿タイプのカレンダーを表示させていた。

個別ページを表示しているときは
その個別ページの投稿日に応じて、カレンダーも投稿月を表示させるために、
ウィジェット内にてget_post()したい。

解決策

$queried_object = get_queried_object();     // 表示しようとしているオブジェクトを取得

if ($queried_object instanceof WP_Post) {   // オブジェクトが投稿の場合
    $post_id = $queried_object->ID;
    echo $post_id;
}

get_queried_objectを使っているので、
個別ページのみならず、アーカイブページでも使えると思われる。(未検証)

参考

Attention Required! | Cloudflare

コメント