【发布时间】:2011-07-21 14:45:18
【问题描述】:
我编写了一个 Wordpress 插件,它为页面生成内容,然后尝试通过 jQuery.load 调用 Update.php 以刷新结果。例如:
插件生成此内容:
global $wpdb;
$sql = "SELECT * FROM table ORDER BY id;";
$results = $wpdb->get_results($sql);
<div id="content">Database Results Here Via Loop</div>
jQuery 调用 Update.php:
<script type="text/javascript">
$(function() {
var refresh = setInterval(function() {
$("#content").load("Update.php");
}, 5000);
});
Update.php 包含:
<?php
function update_page() {
global $wpdb;
$sql = "SELECT * FROM table ORDER BY id;";
$results = $wpdb->get_results($sql);
echo "Parsed results go here";
}
update_page();
?>
5 秒后,这会导致主页上出现“致命错误:在非对象上调用成员函数 get_results()”。
如果我只是让 Update.php 返回类似 rand() 的内容,那么它可以正常工作并使用随机数更新 div。但是,如果我尝试在 Update.php 文件中包含定义所有 Wordpress 类(即 $wpdb)的标头(例如 require_once("wp-blog-header.php");),那么 AJAX 将完全停止工作,甚至不会返回 rand(),但它会防止上述致命错误的发生。
我完全迷路了。任何帮助或只是指出我正确的方向将不胜感激。提前谢谢你,好心的先生们。
【问题讨论】:
标签: database ajax plugins wordpress