让Ajax为Wordpress上的所有用户工作
Get Ajax to work for all Users on Wordpress
一些在Wordpress中使用Ajax的插件只有在您以管理员身份登录或添加以下挂钩时才能工作:
add_action('wp_ajax_my_action', 'my_action_callback');
add_action('wp_ajax_nopriv_my_action', 'my_action_callback');
但我真的很难让非管理员用户的一切都正常工作,我想知道是否有一种简单的方法(对于js/php-nobs)可以告诉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
}
?>
相关文章:
- 谷歌表单-根据分配给谷歌应用程序的工作为商业用户预先填充多项选择列表
- window.open尽管被用户触发,但仍无法在InternetExplorer中工作
- AngularJS Firebase注销用户不工作
- 意思是.js - 登录后重定向用户 - 在本地工作,但在部署时不起作用
- 如何让JavaScript控制台用户输入工作(node.js)
- 如何使用javascript将Excel工作簿保存到当前用户桌面
- Jquery检查用户是否在底部不工作
- 禁用用户选择不会'在Firefox中无法正常工作
- 让Ajax为Wordpress上的所有用户工作
- 无法获取用户 ID 路由参数以在反应路由器中继上工作
- Asp.Net 将多个窗体添加到一个窗体时,用户控件无法正常工作
- 如何将数据(如用户 ID)传递给 Web 工作人员,以便从服务器获取其他推送通知数据
- 开发多租户应用程序,以便用户可以在同一浏览器中使用不同的选项卡在不同的组织中工作
- 允许用户添加表单输入字段:为什么 append() 只工作一次
- 我有三个地方供用户登录,在同一页面上,我如何在一个功能中让所有三个按钮工作和三个表单处理
- blur() 无法以编程方式工作 |但在从用户启动时会这样做
- 使用服务跟踪用户状态并使 $watch() 正常工作
- 用户.js如何在火狐中详细工作
- 多个iFrame:阻止父页面,直到用户完成当前框架的工作
- ECMAScript不能为匿名用户工作