WordPress后端条件

时间:2018-01-30 16:39:08

标签: php wordpress

我试图制作条件来过滤upload_dir(),但仅当用户在前端时,如果用户在后端创建新帖子或者我不想过滤它检查上传到Wordpress或上传新媒体的媒体。我目前正在使用is_admin()条件,但是查看前端商店页面的管理员用户不会看到它被过滤。

我之所以进行过滤是因为当前模板使用upload_dir来获取产品图片,我知道不建议使用upload_dir,但我无法对其进行修改。这是我的代码:

cmd2

2 个答案:

答案 0 :(得分:1)

is_admin应该可以正常工作,因为:

"当前请求是否针对管理界面页面。"

https://developer.wordpress.org/reference/functions/is_admin/

答案 1 :(得分:0)

如果前端使用AJAX上传媒体,那么is_admin()将无效,因为在WP Admin上下文中执行了AJAX请求。来自https://codex.wordpress.org/AJAX_in_Plugins

注2:前端和后端Ajax请求都使用admin-ajax.php,因此is_admin()将始终在您的操作处理代码中返回true。

但是,您可以使用HTTP Referer - $ _SERVER [' HTTP_REFERER'] - 来了解发送AJAX请求的页面。您应该能够确定该页面是前端还是后端页面。后端页面的路径中包含wp-admin,例如http://xxx.yyy.zzz/wp-admin/upload.phphttp://xxx.yyy.zzz/wp-admin/post.php?post=13239&action=edit