我有一个插件,可以挂接到“wp\\u handle\\u upload”过滤器。在这个范围内,我希望能够确定上传的来源,这意味着如果上传是从帖子、媒体库还是插件/主题设置页面(例如模板的标题图像)中进行的,我希望以不同的方式对待它。
唯一传入函数的是一个包含文件、url和类型的数组。有没有办法确定它的来源?
我可能会创建一个异常并检查堆栈跟踪,这是一个合适的解决方案吗?如果是这样的话,我可能会在堆栈中寻找什么?
谢谢
我有一个插件,可以挂接到“wp\\u handle\\u upload”过滤器。在这个范围内,我希望能够确定上传的来源,这意味着如果上传是从帖子、媒体库还是插件/主题设置页面(例如模板的标题图像)中进行的,我希望以不同的方式对待它。
唯一传入函数的是一个包含文件、url和类型的数组。有没有办法确定它的来源?
我可能会创建一个异常并检查堆栈跟踪,这是一个合适的解决方案吗?如果是这样的话,我可能会在堆栈中寻找什么?
谢谢
我可以通过查看表单参数来了解它,但我并不喜欢这样做,因为它不是wordpress api的一部分。如果有人有更好的想法,请留下评论。
$_REQUEST[\'post_id\'] > 0 // it\'s being uploaded from a page/post
$_REQUEST[\'post_id\'] == 0 // it\'s being uploaded from the media library
empty($_REQUEST[\'post_id\']) // it came from somewhere else (plugin, theme, etc)
对于帖子和库来说,它似乎是可靠的,但“其他”可能不是百分之百可靠的,因为插件和主题可能会添加参数,诱使代码认为它是其他类型之一。我正在制作一个插件,它需要一个可以从外部访问的页面,非常像一个API,并且有这样的url,http://xxxxx/custom_method?parameter=xxxxx&something=xxxx有没有干净的方法可以做到这一点?提前谢谢。