Php 从wordpress函数获取空AJAX响应

Php 从wordpress函数获取空AJAX响应,php,jquery,ajax,wordpress,Php,Jquery,Ajax,Wordpress,我从functions.php中的函数得到一个空的AJAX响应。下面是我处理AJAX请求的函数 function dynamic_date() { check_ajax_referer('dynamic_date_nonce'); $fdate = $_GET['my_date']; $date[] = explode("-",$fdate); $year = $date[0]; $month = $date[1]; $args = array('year' => $year,'month

我从
functions.php
中的函数得到一个空的AJAX响应。下面是我处理AJAX请求的函数

function dynamic_date() {
check_ajax_referer('dynamic_date_nonce');
$fdate = $_GET['my_date'];
$date[] = explode("-",$fdate);
$year = $date[0];
$month = $date[1];
$args = array('year' => $year,'monthnum' => $month);
$loop = new WP_Query($args);
if($loop->have_posts()) { 
while($loop->have_posts()) { 
the_post();
echo get_template_part( 'content', get_post_format() );
} 
} wp_reset_query();
die('');
}
这是AJAX调用:

function _do_ajax(obj) {
    var element = $(obj); //our link object
    var url = wpAjax.unserialize(element.attr('href'));
    var s = {};
    s.response = 'ajax-response';
    s.type = "GET";
    s.url = sortbydate.ajax_url;
    s.dataType = "HTML";
    s.data = $.extend(s.data, { action: url.action, _ajax_nonce: url._wpnonce, my_date: url.my_date });
    s.global = false;
    s.timeout = 30000;
    s.success = function(data) {
        $("body.blog #content").fadeIn(500).append(data);
        alert(data);            
    } //End success
    s.error = function(r) {
        alert("Epic Fail!");    
    }
    $.ajax(s);
} //end _do_ajax
$.get_my_comments.init();
});
现在,如果我删除wordpress循环,只回显$year和$month,它会附加到容器中,工作正常。当我添加循环时,虽然我得到了一个空响应,但什么也没有显示

我是否正确处理了响应?

在您的代码中

get_template_part( 'content', get_post_format() );
因此,这将查找
content format.php
文件,在本例中,
格式是

aside, chat, gallery, link, image, quote, status, video, audio
因此,根据帖子的
格式,
WordPress
将在模板的根文件夹中查找文件。因此,请确保您有相应的文件,例如,
content aside.php
content chat.php
等等(如果您有这些类型的帖子)。对于默认/普通post,
get\u post\u format()
返回
false
,请尝试此操作

$format = get_post_format();
if ( false === $format ) {
    $format = 'standard';
}
get_template_part( 'content', $format );
最后,确保根据您的查询有帖子,只要
var\u dump($loop)
,看看您是否真的得到了任何结果,或者结果是空的

如果您没有任何
帖子格式
特定帖子,那么您可以使用

get_template_part( 'content', 'loop' );

并将文件名更改为
content loop.php
,这样
WordPress
在调用
get_template_part('content',loop')时将查找/包含
content loop.php
content.php
文件

你有
post format
明智的模板部分吗?@sheikheera对不起,没有,什么是
post format
?如果有帮助的话,我会在twentyeleven主题中使用child主题。所以一切都是完全通用的,我;我只是把它用于测试目的。谢谢你,真的很感激,这听起来是正确的方向。我会试试看,然后再报告。唉。。。是的,我刚刚做了一个var_转储($loop),没有返回任何帖子,哈哈,所以我修复了它。出于某种原因,它目前只适用于query_帖子,而不适用于wp_query,你能想出一个原因吗?