在管理AJAX调用中实例化WP_QUERY是不可能的吗?

时间:2017-04-26 作者:Blackbam

使用WordPress Ajax API查询某些帖子时,WP\\U查询的内容始终为空(这意味着该类存在,但every property is set to null or false).

function my_ajax_admin() {
        $query = new WP_Query();
        $tab = array();


        while($query->have_posts()):
            // never reached
        endwhile;
        die(json_encode($out));
    }
}
通常不能使用WP_Query 在Ajax中调用?我可以在函数中加载一些内容使其工作吗?我是否需要其他参数?

1 个回复
SO网友:birgire

请注意,的构造函数WP_Query is:

public function __construct( $query = \'\' ) {
    if ( ! empty( $query ) ) {
        $this->query( $query );
    }
}
因此,您需要在当前代码段中输入一个非空的查询。

下面是一个简单的测试示例:

$query = new WP_Query( [\'post_type\' => \'post\' ] );
wp_send_json_success( $query->posts );
但你可以退房,例如。wp_ajax_query_attachments() 查看WordPress如何使用WP_Query 在ajax调用中。

还可以查看内置Rest API, 它可能已经有了您要查找的查询?

相关推荐

当调用Get_Current_User_id()时,跨域AJAX请求总是返回0;

我目前使用localhost,当我想测试对web服务器的ajax请求时,函数get\\u current\\u user\\u id()总是返回0。然而,当我从我的网站发出ajax请求时,它是有效的。在浏览器中打开文件还会返回当前wp\\U用户id。我向其发出请求的文件:<?php require_once $_SERVER[\'DOCUMENT_ROOT\'] . \'/wp-load.php\'; echo get_current_user_id(); 我的身体里有co