在WordPress的send_headers动作中获取帖子ID
问题描述:
在WordPress中可以获取send_headers钩子中当前帖子的ID吗?全局$ post和$ wp_query不起作用,或者我做错了什么。在WordPress的send_headers动作中获取帖子ID
class myClass {
public function __construct() {
add_action('send_headers', array($this, 'myFunction'));
}
public function myFunction() {
// need to get post ID here
}
答
它看起来像WordPress还没有得到发起$wp_query
动作send_headers
被触发时的点。
正如问题询问如何获得帖子ID这个答案假设你有在网址中的slu instead。如果slu is是网址的最后部分,那么这将获得您的帖子ID。
$post = get_posts (array (
'name' => pathinfo ($_SERVER['REQUEST_URI'])['filename']
))[0];
echo $post->ID;
这个结果需要每次使用测试,但应该适用于大多数目的。
我一直在'send_headers'操作中试图通过'$ post'和'$ wp_query'获取帖子ID,但这也对我来说也是失败的。 – 2015-06-03 14:13:33