javascript - 让 Ajax 为 Wordpress 上的所有用户工作

标签 javascript php jquery ajax wordpress

某些在 Wordpress 中使用 Ajax 的插件只有在您以管理员身份登录或添加这些 Hook 时才能工作:

add_action('wp_ajax_my_action', 'my_action_callback'); 
add_action('wp_ajax_nopriv_my_action', 'my_action_callback');

但我真的很难让非管理员用户使用所有功能,我想知道是否有一种简单的方法(对于 js/php noobs)告诉 wordpress 全局激活所有 ajax 函数所有用户,无论是否登录。

我知道如果可能的话,这可能是一种非常愚蠢和冒险的方法,但请告诉我!?!!?

最佳答案

在 PHP 方面,上面的代码一针见血。这对于每个 AJAX 操作都是必需的,因为每个操作当然会调用不同的函数。

现在,我假设您正在使用默认的 Wordpress AJAX 调用 -

jQuery.post(ajax_object.ajax_url, data, function(response) {

如果确实如此,对于前端调用,很可能未设置 ajax_object.ajax_url。要设置它,请将以下内容添加到您的 functions.php 文件 -

<?php
add_action('wp_head', 'plugin_set_ajax_url');
function plugin_set_ajax_url() {
?>
    <script type="text/javascript">
        var ajax_object = {};
        ajax_object.ajax_url = '<?php echo admin_url('admin-ajax.php'); ?>';
    </script>
<?php
}
?>

关于javascript - 让 Ajax 为 Wordpress 上的所有用户工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20100218/

相关文章:

javascript - 需要一个不是模块的文件

javascript - Jquery/CSS 问题 #2 : Hover Elements triggering unwanted hovering action

php - 检查多个字符串中是否有任何一个非空的最佳方法(在 php 中)

php - 从 cer 文件中提取公钥以在 nusoap 中使用

javascript - 如何在输入脚本的同一个 div 中添加图像(数组中的拆分字符串,每个索引中有 .png 字符串连接)

javascript - 如何制作按钮/链接以在 &lt;iframe&gt; 而不是页面中显示源代码?

javascript - 将右键单击事件发送到 Internet Explorer 8 文档中 iframe 中的元素

php - 从 Doctrine2 和 Symfony2 的集合中获取独特的属性?

javascript - 如何将类添加到传单标记?

javascript - 如果 id 消失,提交按钮可以工作