内部に wordpress ループを含む php ファイル (loopHandle.php) があり、これを Web ページの div 内にロードしたいと考えています。
$date ("2012-6") の文字列変数を持つクリック イベントを使用して呼び出しを行います。投稿を日付で並べ替えるため、この変数は wordpress ループにとって重要です。
これを段階的に実行することにしました。これまでのところ、AJAX 呼び出しが機能し、変数 $date で div に応答しています。
これが私の見方です。クリック イベントで、次のリンクを使用して、使用したい変数を送信します。
$link_url = esc_url(wp_nonce_url( admin_url('admin-ajax.php?&action=dynamic_date&my_date='.$date), "dynamic_date_nonce")); ?>
アクション、ノンス、およびカスタム変数を wordpress の ajax プロセッサ (admin-ajax.php) に送信しています。これにより、functions.php で関数がトリガーされます。これは、送信した変数を実際に処理する場所です。
ここに私が直面している問題があります。送信された変数を使用して ajax 呼び出しに応答し、wordpress ループで応答するにはどうすればよいですか?
私が考えたいくつかのオプション:
$wp_loop = if($loop->have_posts()) {
while($loop->have_posts()) {
the_post();
get_template_part( 'content', get_post_format() );
}
} wp_reset_query();
$response = new WP_Ajax_Response();
$response->add(array(
'what' => 'fulldate',
'data' => $wp_loop));
$response->send();
それは、棒でそれを突き刺して、何が起こるかを見るというものでした。
もう 1 つの理論は、関数で使用する$date = $_GET['my_date];
ことhandleLoop.php
です。functions.php ではない場所から変数を取得できますか? 次に、次のように応答できますか。
$loopHandle = include(handleLoop.php);
$response->add(array(
'what' => 'fulldate',
'data' => $wp_loop));
$response->send();
とにかく、私は自分の問題を正しく伝えたことを願っています。もちろん、助けていただければ幸いです。
編集:次を使用してキーペアをキャプチャします。
s.data = $.extend(s.data, { action: url.action, _ajax_nonce: url._wpnonce, my_date: url.my_date });