我正在使用Wordpress插件样板开发一个相当简单的插件。利用AJAX,我设置了一个基于按钮按下的操作,该操作应该从我设置的自定义数据库表中删除一个项。AJAX工作,按钮工作,对操作PHP文件的调用工作。该调用位于我的插件的admin partials文件夹中,大多数插件操作都发生在该文件夹中,看起来是这样的(“txtHint”是我使用的教程的一个工件):
function ajax_function(str) {
var parsed = str.slice(19);
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("txtHint").innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "http://" + window.location.hostname + "/wp-content/plugins/plugin_name/admin/partials/trigger_file.php?q=" + parsed, true);
xmlhttp.send();
}
然而,当我进入操作PHP文件(位于同一目录中)时,应该在其中进行一些简单的数据库操作,但什么都没有发生。此时的文件包括:
global $wpdb;
$table_name[\'database_name\'] = $wpdb->prefix . \'database_name\';
echo var_dump($wpdb);
echo var_dump($table_name);
echo var_dump($wpdb->prefix);
现在就是这样。这些var转储返回为“NULL”、“database\\u name”和“NULL”
我做错了什么?在这个项目涉及的其他几个文件中,一切都很好。我打破了什么?如果它是AJAX的东西,而Wordpress对AJAX的处理方式不同,那么我很想看到一个很好的教程,因为我发现很少有人明确地处理Wordpress AJAX已经过时和/或损坏了。
顺便说一下,这是我的第一个插件,我对PHP、Javascript以及整个9码都非常陌生。请,如果能为我简化一下回答,那将非常有帮助。