web-dev-qa-db-ja.com

現在のページ/ウィジェット内の投稿の投稿IDを取得するにはどうすればいいですか?

現在の投稿/ページの投稿IDをウィジェットクラス内で取得しようとしていますが機能しません。get_the_ID()やその他のオプションがあることは知っていますが、ウィジェット内では機能しません。これが私のコードです:

public function widget( $args, $instance ) {


   global $wp_query;

   $thePostID = $wp_query->post->ID;
   echo 'Post ID is:' . $thePostID;

}
5
Faizan Ali

ここでは get_queried_object() を使用できます。これは$wp_queryのラッパーで、投稿メタデータ全体を返します。

これがサンプルコードです。

$queried_object = get_queried_object();

if ( $queried_object ) {
    $post_id = $queried_object->ID;
    echo $post_id;
}
6

これを試して:

<?php
global $post;
setup_postdata( $post );
echo "Post's ID: " . get_the_ID();
?>
0
Prasad Nevase
 function widget($args, $instance) {
         global $post;
         echo $post->ID;

 }
0
Nanhe Kumar