javascript - 将多部分表单(输入类型=文件)转换为WordPress媒体库上传

标签 javascript php wordpress file-upload media

我正在尝试修改 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/

相关文章:

php - 创建运动员表失败 SQLSTATE[23000] : Integrity constraint violation:

php - 有什么方法可以在核心 php 代码中访问 WordPress 数据库

php - 我在寻找什么 wordpress 图像 Hook ?

php - Laravel 通知没有任何错误地广播?

javascript - THREE.js intersects[0].object.position 始终返回 (0,0,0)

javascript - setInterval 在 window.location/window.open 上中断

javascript - 当我单击 <Link> 时,React Router 4.1.1 不呈现

php - jquery 回调验证

php - Wordpress 通过电子邮件获取用户 ID

javascript - 使用表单外的按钮提交表单