我在脚本中有一个jQuery .load():
$('#category2').load("/wp-content/themes/mydomain/categories.php",
{ category_number : 2, // category to get
category_1 : category_1,
category_2 : category_2,
category_3 : category_3,
category_4 : category_4,
category_5 : category_5,
category_6 : category_6,
category_7 : category_7
},
function(responseTxt, textStatus, xhr) {
console.log("responseTxt=" + responseTxt + ", textStatus=" + textStatus + ", xhr->status=" + xhr.statusText);
})
在.load()的categories.php处理程序中,我目前有:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL & ~E_NOTICE);
global $wpdb;
$query=("SELECT Cat2
FROM wp_categories
WHERE Cat3 IS NULL AND Cat4 IS NULL AND Cat5 IS NULL AND Cat6 IS NULL");
$dropdown = $wpdb->get_results($query, OBJECT);
print_r ($dropdown);
?>
但是我从上面的$ dropdown =行收到错误:“在非对象上调用成员函数get_results()。”
有谁看到我做错了什么?
答案 0 :(得分:1)
您直接调用/wp-content/themes/mydomain/categories.php
文件,而不是通过WordPress传递它。这意味着$wpdb
对象无法使用。
您可以直接加载categories.php
文件并输入:
global $wpdb;
print_r($wpdb);
您将无法获得WordPress数据库对象(除非您直接在categories.php中包含所需文件。
您应该使用内置的WordPress Ajax functions来处理Ajax请求。
有很多教程可以解释如何在WordPress中使用Ajax: