2017-04-06 6 views

答えて

2

あなたは$ _GETパラメータ

function ajax_query() { 
    // Return normally if the ajax query isn't set 
    if (! isset($_GET['_pjax'])) { 
     return; 
    } 

    set_query_var('ajax', 'true'); 
} 

add_filter('template_redirect', 'ajax_query'); 

を設定してからちょうど/page/?ajax=trueなどのパラメータを使用してJSのAJAX呼び出しを作ることができます。テンプレートで

:限りwp_doing_ajax機能がちょうどJS要求に呼び出されるならば、他の答えとして、私にはわからない

$is_ajax_query = get_query_var('ajax'); 

if ($is_ajax_query && 'true' === $is_ajax_query) : 
    get_header(); 
endif; 

。私はそれを試したことはありませんし、多くのドキュメントがありません。私はWordPressがAJAXリクエストであることをどのように知っているのかわかりません。 WordPressには、通常のget要求のように見えます。したがって、パラメータは機能します。

+0

ありがとうございました。私はAJAXリクエストを処理するためにPJAXを使用しています。これは 'XHRリクエストでこれを渡すようです: XHRのロードが終了しました:「http:// localhost/Sites/dev/contact /?_pjax = section.context」を取得します。 –

+0

これも問題ありません。 'ajax'ではなく' _pjax'をチェックするようにコードを変更しました。ページではなくセクションのみが必要な場合は、 '_pjax'に渡されるものに基づいてテンプレートのテンプレート部分を取得する例を追加することができます。 –

+0

それは素晴らしいです。また、if(!isset($ _ SERVER ["HTTP_X_PJAX"]))も使用できることがわかりましたが、何が起こっているのかを理解するのに役立ちます。ありがとう! –

関連する問題