无法在wordpress插件中获取post_ID

时间:2019-02-13 22:32:42

标签: php wordpress

我正在尝试制作我的第一个WP插件,但停留在简单的功能上-无法在其中获取帖子ID。

我尝试过:

$post_id = get_the_ID();

之后,我认为我的插件可以在循环外运行并尝试以下操作:

global $post;
$post_id = $post->ID;

几个小时后,我尝试创建函数,该函数在INIT之后获取帖子ID:

function postidfinder () {
global $post;
$post_id = $post->ID;
return $post_id
}
add_action( 'init', 'postfinder' );

还尝试了以下操作:wp_loaded,loop_query。

请帮助获取帖子ID到插件。谢谢!

1 个答案:

答案 0 :(得分:1)

据我所知,要在循环外使用post-> ID,应该首先调用wp_query。

global $wp_query; 
$postid = $wp_query->post->ID;

或者,get_post_id()可以为您服务,请检查编解码器以了解更多信息。

从全局$ post对象中:

全局对象$ post包含当前帖子的大量数据。从对象获取ID很容易:

global $post;
echo $post->ID;

使用get_the_id()和the_id()函数:

这两个函数的区别在于get_the_id()返回当前帖子的ID,而the_id()打印它。

echo get_the_id();
the_id();