我正在尝试修改 WordPress 插件,需要确定调整我想要的更改是否可行。
我试图修复的坏功能:
该插件使用自定义帖子。当用户创建此类新帖子时,有一个上传图像的按钮。此上传依赖于多部分(输入类型=文件)而不是媒体库。我试图拦截这个过程并坚持媒体 uploader ...然后将数据传递到下一个函数,就好像它来自非 WordPress 多部分表单一样。此后的大量功能依赖于以某种方式传入的数据,这就是为什么我试图模仿自然上传文件的结果。
我遇到的问题:
提交后调用的函数正在等待 $_FILES 数组数据进入。我不确定是否可以强制将我自己的数据(从媒体 uploader javascript 返回)放入此数组
里>即使我可以将数据强制写入 $_FILES,将返回的 JavaScript 值捕获到 PHP 变量中似乎也是一个问题。 - 我正在考虑使用“on_submit”并创建一个 JS 函数来用值填充 HTML 输入...但我不知道如何轻松地将这些值添加到 $_FILES 中。
- 媒体库确实使用 $_FILES 数组(wordpress core include/media.php),但当我在插件文件中进行 var_dump 时,这些值已为空。
最佳答案
这是一种方法。 Remove插件中的违规文件 uploader 。
add_filter('add_meta_boxes', 'hide_meta_boxes_file_uploader');
function hide_meta_boxes_file_uploader() {
remove_meta_box('metabox_id', 'custom_post_type', 'context');//edit value accordingly
}
然后按照概述添加您自己的媒体 uploader here 。只需将字段名称设置为您删除的 meta_box
的字段名称即可。
关于javascript - 将多部分表单(输入类型=文件)转换为WordPress媒体库上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36532891/