web-dev-qa-db-ja.com

アクションフック 'wp'が2回発火します。

私が気付いたのは、 'wp'に接続すると2回起動しているように見えることです - 例えば、

add_action('wp', 'just_testing');
function just_testing(){
    global $post;
    error_log($post->ID);
}

次の2つのエントリを私のerror_logに返します。

[01-Feb-2013 13:06:58 UTC] 1120
[01-Feb-2013 13:06:58 UTC] 

私はグーグルとstackexchangeとスレッド「Firefoxでのみ 'wp'アクションが1ページに2回(ただし1回の投稿に1回だけ)起動するのはどうしてですか?」を検索しました。私はすべてのブラウザで2つの発砲を得ているので適用されません。

助けてくれてありがとう!

3
user23591

テーマに含めるファイルの1つが 404 Not Found errorを返している場合に発生する可能性があります。あなたが.jsや.css、あるいはその場所に存在しない画像にリンクしているのと同様です。ブラウザのインス​​ペクタを使用して、404エラーが発生しているかどうかを確認します。

それらを修正してやり直してください。

2

プラグインディレクトリとサブディレクトリ(デフォルトは'wp')、および現在のテーマのディレクトリとサブディレクトリ(デフォルトは"wp")のファイルで、wp-content/pluginsおよびwp-content/themes/YOUR-THEME(引用符を含む)を検索します。

WPコアファイル(3.5)では、wpアクションは1回だけ起動され、do_action_ref_arraywp-includes/class-wp.phpになります。おそらくサードパーティー(プラグイン/テーマ)がdo_action('wp'...を呼び出しています。

注:不正なプラグインを排除する簡単な方法は、テストコードをテーマのfunctions.phpに入れ、pluginsディレクトリをplugins.tempのような名前に変更してフロントエンドにアクセスすることです。それから、pluginsディレクトリの名前をpluginsに戻します。

1
akTed