php – 如何将ajax添加到wordpress主题

前端之家收集整理的这篇文章主要介绍了php – 如何将ajax添加到wordpress主题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个问题,我现在已经坚持了几天……
我正在尝试使用简单的ajaxPOST函数将数据发送到 MySQL数据库(而不是WP数据库).

代码位于主题中的“single-post.PHP”内,因为必须在每个帖子之前检查它.

$.ajax({ url: 'library/functions/admin_checkuser.PHP',data: {action: userID},type: 'post',success: function(output) {
                  alert(output);
     }
});

我只是将一个变量发送到“admin_checkuser.PHP”脚本,该脚本又调用另一个对数据库采取操作的脚本.

这是“admin_checkuser”的代码

$userid = $_POST['action'];

echo $userid;//for testing
$oMysqL = new MysqL();
$query = "Select * FROM videotable WHERE uid = '$userid'";
$oMysqL->Executesql($query);
$bb = $oMysqL->iRecords;
$aa = $oMysqL->aResult;
echo $bb;

if ($bb == 0){
$query = "INSERT INTO videotable VALUES ('','$userid','true')";
$oMysqL->Executesql($query);
echo 'true';
    exit();

}else{
$sharing = MysqL_result($aa,"share");
echo $sharing;
exit();

}

但我不认为这些调用是通过脚本进行的.
这些脚本在wordpress之外进行了测试并且确实有效,所以它必须是wordpress中阻止ajax调用的东西.
顺便说一下,我尝试将“admin_checkuser.PHP”放在许多不同的文件夹中,但没有任何效果.

提前致谢.

您应该检查您的网址以获取您的ajax电话.

也许使用完整的URL而不是相对的url.

可能是因为您的主题的位置使得网址不正确.我假设你的ajax代码在你的主题文件夹中.

有一些wordpress函数可以获取主题目录.

例如,如果你在这个页面http:// yourwebpage / test /那么ajax调用将在这里http://yourwebpage/test/library/functions/admin_checkuser.PHP.我假设这是不正确的位置.

这就是您需要在脚本中添加绝对URL的原因.如果它在您的主题中,您可以使用此方法get_template_directory_uri()来获取模板目录.

见:http://codex.wordpress.org/Function_Reference/get_template_directory_uri

猜你在找的PHP相关文章