wordpress中的query_posts在哪里

时间:2013-12-03 10:28:27

标签: wordpress

我使用ajax在我的插件中调用一个函数但是失败了 它说, “致命错误:在第3行的D:\ wamp \ www \ wp-content \ plugins \ postCrawler \ AjaxActon.php中调用未定义的函数query_posts()”

AjaxActon.php是这样的:

<?php
     $pageSize=$_POST['pageSize'];
     query_posts('posts_per_page='.$pageSize);
?>

然后我尝试使用include_once()来加载它。但是peoblem是query_posts()方法所在的位置。
附:我试过从post.php(wp-admin / includes)搜索,但这里没有query_posts方法。 那么,它在哪里?

2 个答案:

答案 0 :(得分:0)

尝试包含wp-load.php。该文件位于根目录。

require_once('../../../wp-load.php');

希望这有帮助

答案 1 :(得分:0)

我确信你没有用正确的方法编写ajax请求,你不需要在你的插件中使用ajax方法调用任何文件,只需定义一个动作

var data = {
        action: 'my_action',
    whatever: 1234
};

$.post(ajaxurl, data, function(response) {
    alert('Got this from the server: ' + response);
});

然后通过wp_ajax_动作挂钩调用您的ajax操作。

add_action( 'wp_ajax_my_action', 'my_action_callback' );

function my_action_callback() {

     global $wpdb; // this is how you get access to the database

     $whatever = intval( $_POST['whatever'] );
     $whatever += 10;
     echo $whatever;

     die(); // this is required to return a proper result
}

通过这种方式,您可以访问所有wordpress的功能

以下是获取更多信息的链接:AJAX_in_Plugins