我有一个 php 文件(loopHandle.php),里面有一个 wordpress 循环,我想在我的网页上的一个 div 中加载它。
我使用带有 $date(“2012-6”)字符串变量的 on click 事件进行调用,这个变量对我的 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();
那更像是用棍子戳它,看看会发生什么。
另一个理论是$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 });