- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 Wordpress 插件,其中插件的主文件包含一个 PHP 文件,具体取决于(应该至少)您是后端还是前端。
由于 is_admin() 在 AJAX 请求上返回 true,我使用 DOING_AJAX 常量来检查 AJAX 是否完成:
if ( is_admin() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) ) {
require_once('admin/functions_admin.php');
}
else {
require_once('public/functions_public.php');
}
wp-admin 中加载了正确的文件。正确的文件在前端加载。 Ajax 请求适用于前端 - 但不适用于后端。使用此代码执行 Ajax 后端时不会执行“if”。
当添加以下“else if”代码时,它可以在后端运行,但当然不能在前端运行:
else if ( is_admin() ) {
require_once('admin/functions_admin.php');
}
最佳答案
在 Ajax in plugin codex 页面上有关于这个事实的注释。
由于钩子(Hook)使用 wp-admin/admin-ajax.php
你必须避免使用 is_admin(),它总是返回 true。
例如,您只想在前端包含一个文件,您可以使用 !is_admin()
检查,在文件中您有 wp_ajax_{$action}
, 但 admin-ajax.php 将始终返回 true,响应将为 0。
法典怎么说;
Both front-end and back-end Ajax requests use admin-ajax.php so is_admin() will always return true in your action handling code.
When selectively loading your Ajax script handlers for the front-end and back-end, and using the is_admin() function, your wp_ajax_(action) and wp_ajax_nopriv_(action) hooks MUST be inside the is_admin() === true part.
那么,如果您的问题是:我怎样才能让我的脚本正常工作?
删除 is_admin()
并将其替换为另一个条件。
希望对你有帮助
关于php - Wordpress 插件中的 is_admin() 和 DOING_AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40891998/
我正在开发一个 Wordpress 插件,其中插件的主文件包含一个 PHP 文件,具体取决于(应该至少)您是后端还是前端。 由于 is_admin() 在 AJAX 请求上返回 true,我使用 DO
我正在使用 Ion_auth对于我的项目 auth 库中的 CodeIgniter。我正在尝试为其他用户类型(除了管理员之外还有三种用户类型)制作与 is_admin() 类似的功能,以检查登录用户是
我通过扩展 AbstractBaseUser 自定义了用户模型,用户名仅作为电子邮件 ID 接受。这是模型: class User(AbstractBaseUser, PermissionsMixin
我有一些代码可以调用 current_user.is_admin? 代码工作正常,但我无法弄清楚 is_admin? 方法是在哪里定义的。我正在使用 Devise , CanCan , 和 role_
我是一名优秀的程序员,十分优秀!