在WordPress中是否可以获取send_headers钩子中当前帖子的ID?全局$ post和$ wp_query不起作用或我做错了。
class myClass {
public function __construct() {
add_action('send_headers', array($this, 'myFunction'));
}
public function myFunction() {
// need to get post ID here
}
答案 0 :(得分:1)
当触发操作$wp_query
时,WordPress似乎尚未启动send_headers
。
当问题询问如何获得帖子ID时,这个答案假定你在网址中有slug。如果slug是url的最后一部分,那么这将获得你的帖子ID。
$post = get_posts ( array (
'name' => pathinfo ( $_SERVER['REQUEST_URI'] )['filename']
) )[0];
echo $post->ID;
此结果需要按使用情况进行测试,但应该适用于大多数用途。
答案 1 :(得分:0)
你甚至可以尝试这样的事情:
global $wp;
$post = get_page_by_path($wp->request);
echo $post->ID;