2012-06-11 4 views
1

Я пытаюсь получить идентификатор сообщения внутри моего обычая Wordpress плагина, и я использую следующий код:Получить пост-идентификатор в Wordpress плагин

global $post; 
$current_page_id = $post->ID; 
var_dump($current_page_id); 

Но без какого-либо успеха. С var_dump Я нахожусь на каждом звонке null. Чем, если добавить к шаблону, чем выходные работы:

add_action('wp_footer', 'test'); 
function test() { 
    global $post; 
    $current_page_id = $post->ID; 
} 

Что я хотел бы достичь внутри моего плагина, чтобы передать текущий идентификатор сообщения в одной из моих функций. Так что-то вроде:

my_function($base_url, array('variable_to_post' => $post->ID)); 
+0

Я думаю, что wp_footer является тема-зависимой которой означает, что автор каждой темы WordPress должен включать ее. Для получения дополнительной информации проверьте это - http://codex.wordpress.org/Plugin_API/Action_Reference/wp_footer – swapnesh

+0

Где вы используете этот код? $ post global работает в single.php и в цикле. –

+0

@deroccha вы также можете проверить эту ссылку http://stackoverflow.com/questions/5006466/wordpress-plugin-query-post-id-in-plugin – swapnesh

ответ

1

Это возможно, когда вы используете это в вашем плагине:

add_action('wp_head','getPageId'); 

И объявить следующую функцию:

function check_thankyou(){ 
    if(!is_admin()){ 
     global $wp_query; 
     $postid = $wp_query->post->ID; 
     echo $postid; 
    } 
} 
Смежные вопросы