2012-02-23 9 views
1

私はプラグインを開発しています。私が実行している問題の1つは、admin_initフックに割り当てられた関数内で投稿IDを取得できないということです。admin_initでwp_queryが空です

私はいくつかの異なる方法を試しました。しかし、それらはすべて$ wp_queryを使用しているようです。

以下は、私が使用しているコードの簡単なバージョンです。 EDIT - 私はちょうど今、このようなコードを実装し、主に空の配列

add_action('admin_init','do_optional_featured_article'); 
function do_optional_featured_article() 
{ 
    global $wp_query; 
    echo "<pre>"; 
    print_r($wp_query); 
    echo "</pre>"; 
    die(); 
} 

の$ wp_queryが「ポスト編集」ページを表示することによって、それを実行した、特に、ポスト部材は

は空です -

私はwordpress.stackexchangeでいくつかのアドバイスを乗り越え、この機能に追加:

function get_admin_post() 
{ 
    if(isset($_GET['post'])) 
    { 
     $post_id = absint($_GET['post']); // Always sanitize 
     $post = get_post($post_id); // Post Object, like in the Theme loop 
     return $post; 
    } 
    elseif(isset($_POST['post_ID'])) 
    { 
     $post_id = absint($_POST['post_ID']); // Always sanitize 
     $post = get_post($post_id); // Post Object, like in the Theme loop 
     return $post; 
    } 
    else 
    { 
     return false; 
    } 
} 

答えて

2

私はthis answerが助けになると思います。グローバル$post/$postsの変数を取得するための最も初期のアクションは、wpアクションです。アクションフックreference on the codexでは、wpアクションがadmin_initの後に少し実行されることがわかります。そのため、そこに投稿を検索することはできません。動作するはずですので、

、:

add_action('wp','do_optional_featured_article'); 
+0

これはちょうど私を助けました。乾杯 –

関連する問題