【问题标题】:Get Ajax to work for all Users on Wordpress让 Ajax 为 Wordpress 上的所有用户工作
【发布时间】:2013-11-20 15:37:50
【问题描述】:

一些在 Wordpress 中使用 Ajax 的插件仅在您以管理员身份登录或添加这些挂钩时才能工作:

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

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

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

【问题讨论】:

    标签: javascript php jquery ajax wordpress


    【解决方案1】:

    在 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
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 2010-12-24
      • 1970-01-01
      • 2021-12-21
      • 2015-01-10
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      • 1970-01-01
      • 2022-11-24
      相关资源
      最近更新 更多