如何在Widget中获取当前页面/帖子的帖子ID?

时间:2014-10-22 作者:Faizan Ali

我正在努力在一个小部件类中获取当前帖子/页面的帖子ID,但没有成功,我知道有get\\u the\\u ID()和一些其他选项,但在小部件中没有一个可用。这是我的代码:

public function widget( $args, $instance ) {


   global $wp_query;

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

}

4 个回复
最合适的回答,由SO网友:Ram Ratan Maurya 整理而成

你可以利用get_queried_object() 这里是$wp_query 并返回整个帖子元数据。

以下是示例代码:

$queried_object = get_queried_object();

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

SO网友:pixelngrain

只是为了得到ID get_queried_object_id()

当然,为时已晚,但可能会帮助其他正在寻找同样机会的人。

SO网友:Prasad Nevase

Try this:

<?php
global $post;
setup_postdata( $post );
echo "Post\'s ID: " . get_the_ID();
?>
SO网友:Nanhe Kumar
 function widget($args, $instance) {
         global $post;
         echo $post->ID;

 }
结束