我使用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方法。
那么,它在哪里?
答案 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
}
以下是获取更多信息的链接:AJAX_in_Plugins