【发布时间】:2016-09-24 15:10:39
【问题描述】:
我有一个如下所示的 ajax 请求:
$('#clear_cache').click(function (event) {
event.preventDefault();
var ajaxurl = "clearcache.php";
$.post(ajaxurl, function () {
$('<p>The cache was cleared successfully.</p>').insertAfter('#clear_cache');
});
});
clearcache.php 文件如下所示:
do_action( 'clear_terms', 'clear_transients' );
function clear_transients() {
global $wpdb;
$sql = "delete from {$wpdb->options}
where option_name like '_transient_cc%'";
return $wpdb->query($sql);
}
我知道 ajax 请求可以正常链接到 php 文件,因为当我清除 php 文件并单击我的按钮时,就会发出请求。我觉得我的 PHP 文件有问题,比如函数设置不正确,或者我发出了错误的请求类型。但是,当我在与按钮所在位置相同的文件中测试此 php 代码时,它可以正常工作(但这是使用查询字符串方法)。非常感谢您的帮助。
【问题讨论】:
-
clearcache.php 如何访问 WordPress 功能?
-
你在 clearcache.php 中加载过 wordpress 吗?
-
您真的应该考虑摆脱 PHP 文件,并改用
wp_ajax_(action)操作。
标签: php jquery ajax wordpress transient