2014-11-25 61 views
2

在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 

} 
+1

我一直在'send_headers'操作中試圖通過'$ post'和'$ wp_query'獲取帖子ID,但這也對我來說也是失敗的。 – 2015-06-03 14:13:33

回答

1

它看起來像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; 

這個結果需要每次使用測試,但應該適用於大多數目的。