php - 无法在 wordpress 插件中获取 post_ID
问题描述
我正在尝试制作我的第一个 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。谢谢!
解决方案
据我所知,要在循环之外使用 post->ID,应该首先调用 wp_query。
global $wp_query;
$postid = $wp_query->post->ID;
(可选)get_post_id()
可以为您工作,请查看 codex 了解更多信息。
从全球 $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();
推荐阅读
- xamarin - Xamarin 下载文件到 - 路径访问被拒绝
- scripting - 无法从用 Tcl 编写的应用程序中找到包
- c++ - 迭代在 cicle C++ 期间改变大小的无序集
- javascript - 在 add_action WooCommerce 中运行 JS 函数
- validation - Kotlin 数据类和 Bean 验证:Double 字段上的 @NotNull 不起作用
- python - 将列表设置为字典值会导致 TypeError: unhashable type: 'list'
- django - 如何建立一个 django 模型来存储 twitter 对话?
- django - Python MongoDB ReferenceError:弱引用对象不再存在
- javascript - 为什么在函数中重新声明标识符会屏蔽同名参数?
- javascript - 如何修改嵌套对象的属性?