2017-12-05 16 views
0

タグカテゴリや他のページなどの特定のページに表示されるコードを回避しようとしています。ワードプレスのajax呼び出しの後にページ条件がfalseになる

if(!is_front_page() && !is_search() && !is_page('article', 'preview') && !is_category() && !is_tax() && !is_tag()){ 
//code goes here.. 
} 

ユーザーがページにアクセスしたときの状態は良好です。しかし、これらのページはajaxを使用してポストを取得し、この状態が発生すると条件はfalseになり、不要なコードがページに表示されます。

どうしてですか?誰にもこれについての考えがありますか?どんな種類の助けにも感謝します。

答えて

0

ifステートメントに追加の制約を追加して、要求がajax要求かどうかを確認する必要があります。これはすべてのサーバーで使用されるわけではありませんが、Apacheを使用している場合はうまくいくはずです。

if(empty($_SERVER['HTTP_X_REQUESTED_WITH']) && !is_front_page() && !is_search() && !is_page('article', 'preview') && !is_category() && !is_tax() && !is_tag()){ 
//code here 
} 

上記は、ajaxリクエストでない場合にのみ当てはまります。このPHPファイルにajaxリクエストが行われた場合はtrueとなり、これがajaxリクエストかどうかを確認してそれに応じて処理する方法です。

0

上記の条件でAjax応答データを取得してください。

Ajaxで変数(引数)を1つ渡すことができます。そのページにいて、そのコードを表示したくない場合、Ajaxで渡される時間とAjax関数がその変数)あなたが上記の条件を追加しなければならない時は、(空の)引数を取らなければ、すべてのページに対して実行します。

より良い方法は、上記のページ条件を得ることができる方法でAjaxに対するあなたの応答を得ることです。

関連する問題