为什么我的Ajax请求从wordpress返回空对象?

凯特

在我的functions.php文件中,我有一个函数:

function get_news_recipes()
{
    global $wpdb;
    $interval=$_REQUEST['interval'];
    $getPosts = $wpdb->get_results("SELECT ID FROM wp_posts WHERE post_status='publish' AND post_type='post' LIMIT 3 OFFSET ".$interval."");
    foreach ($getPosts as $blog)
    {
        $id=$blog->ID;
        $title=get_the_title($id);
        $url=get_permalink($id);
        $content=get_the_content($id);
        $image=wp_get_attachment_url(get_post_thumbnail_id($id));
        $postArray[$id]=array(
            'title'=>$title,
            'content'=>$content,
            'url'=>$url,
            'image'=>$image
        );}
    echo wp_send_json($postArray);
    die();
}

在我的脚本文件中,我具有如下的ajax设置:

function getNewsPosts(interval) {
            jQuery.ajax({
                url : ajaxurl,
                type : 'post',
                data : {
                    action : 'get_news_recipes',
                    interval:interval,
                },
                success : function( response ){
                    //get and store references to modules in slides
                    var imgs = jQuery('.js-slideImg');
                    var titles = jQuery('.js-slideTitle');
                    var contents = jQuery('.js-slideContent');
                    var links = jQuery('.js-slideURL');
                    var count = 0;

                    //interate over each slide and replace html
                    for(var key in response){
                        if(response.hasOwnProperty(key)){
                            jQuery(imgs[count]).css('background-image', 'url('+response[key].image+')');
                            jQuery(titles[count]).html(response[key].title);
                            jQuery(contents[count]).html(response[key].content);
                            jQuery(links[count]).attr('href', response[key].url);
                            count++;
                        }
                    }
                }
            });
        }

一切都很好,除了响应的内容变空了,我不知道为什么。图片网址,实际网址和标题都会按预期返回,但是内容为空字符串。

安德鲁·舒尔茨

必须在循环中使用函数get_the_content,否则它将不返回任何内容。您应该将以下代码用于帖子的内容。

$post = get_post($id);
$content = $post->post_content;

修改代码如下

$id=$blog->ID;
$content=$blog->post_content;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的豆返回空内调用@Autowired场?

为什么我的阵列为一副纸牌建模返回空纸牌对象?

为什么在gson.toJSon时返回空对象

为什么我的JavaScriptSerializer返回空的json对象?

为什么在TypeError上的JSON.stringify返回空对象

为什么对Expression.TypeAs的求值返回的是基础具体类型的对象,而不是我请求它的接口?

为什么GetAllActorsOfClass返回空?

为什么req.body不断返回空对象?

为什么POSTMAN发出的POST请求返回空?

Laravel:为什么我的Ajax请求返回“ 500(内部服务器错误)”?

为什么当状态发生突变时mapStateToProps返回空对象?

为什么我的抓取脚本返回空结果

为什么我的fs错误在Node.js中返回空对象?

为什么我的n皇后代码返回空列表?

为什么我的mysql查询总是返回空结果?

Ajax请求返回空数组

为什么HashMap方法返回空对象引用?

为什么MyBatis返回空对象的集合?

ASP.NET MVC5。我不知道为什么我的表单返回空的viewmodel对象

我的变量为什么返回空?

为什么 jQuery val() 返回空/对象

为什么我的 ajax 请求向服务器发送一个空对象

为什么在我输入内容之前请求值会立即返回空?

为什么我的动态路由返回空白页?

为什么来自 Unity 的 POST 请求在 php 中返回空?

为什么我的实体管理器返回空的 ResultLists?

请求API但返回空,为什么?

为什么我的 nodejs POST 请求返回空值(我使用邮递员)?

为什么我的 for...of 循环返回空数组,Javascript 节点