如何在wp_Handle_Upload内找到文件上传的来源?

时间:2011-11-21 作者:Jason

我有一个插件,可以挂接到“wp\\u handle\\u upload”过滤器。在这个范围内,我希望能够确定上传的来源,这意味着如果上传是从帖子、媒体库还是插件/主题设置页面(例如模板的标题图像)中进行的,我希望以不同的方式对待它。

唯一传入函数的是一个包含文件、url和类型的数组。有没有办法确定它的来源?

我可能会创建一个异常并检查堆栈跟踪,这是一个合适的解决方案吗?如果是这样的话,我可能会在堆栈中寻找什么?

谢谢

1 个回复
SO网友:Jason

我可以通过查看表单参数来了解它,但我并不喜欢这样做,因为它不是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)
对于帖子和库来说,它似乎是可靠的,但“其他”可能不是百分之百可靠的,因为插件和主题可能会添加参数,诱使代码认为它是其他类型之一。

结束