【问题标题】:assign post ID to new wp.media object将帖子 ID 分配给新的 wp.media 对象
【发布时间】:2014-02-18 23:04:33
【问题描述】:

我有一个用于发布帖子的自定义表单。首次创建新帖子时,没有现有的帖子 ID,因此在保存帖子并为帖子生成 ID 之前,无法将照片附加到帖子。

我做的第一件事是启动自动保存,以便生成一个帖子 ID 来代表新帖子。但是,我不知道如何使用这个新 ID 更新 wp.media 对象,以便将上传的帖子分配给自动保存期间生成的 ID。

有没有办法用新的帖子 ID 重新初始化 wp.media 对象?

编辑

我找到了这个资源,但它似乎没有涵盖如何分配帖子ID,我似乎也无法在git引用的源代码中找到它......

https://github.com/thomasgriffin/New-Media-Image-Uploader/blob/master/js/media.js

更新

看起来我只需这样做就可以将帖子 ID 重新分配给 wp.media 对象:

wp.media.model.settings.post.id = new_id;

但是,我现在遇到了一些权限问题。作为管理员,一切正常,但作为任何其他用户,我收到错误“上传时出错。请稍后再试。”

保存帖子后,所有用户都可以正常上传,但由于某种原因,在为 wp.media 对象分配新 id 后,它不允许我与非管理员用户一起上传。

R

【问题讨论】:

    标签: wordpress media uploader


    【解决方案1】:

    终于整理好了

    AJAX 用于在用户编辑帖子时在后台启动自动保存。当自动保存 ID 返回时,它会重新分配给 wp.media 对象,如下所示:

    wp.media.model.settings.post.id = autos_save_id;
    

    我遇到的权限问题来自一个简单的事实,即我的用户角色没有“edit_post”功能。呵呵。

    【讨论】:

    • 哈,我也犯了同样的操作错误。我正准备发布一个挂钩和重新分配/更新 JS obj 的建议。很高兴在相同的波长上。
    【解决方案2】:

    如果我没记错的话,媒体有一个 ID,就像帖子/页面一样。由编辑/系统将媒体关联到发布。

    当我将图像(媒体)上传到本地开发人员时,我会通过以下方式对其进行编辑:

    site.com/wp-admin/post.php?post=19&action=edit
    

    其中 19 是媒体 ID。

    如果我访问 site.com/?p=19,我将被转发到 site.com/?attachment_id=19 并查看媒体。

    关于帖子/页面(自定义表单) - 如果正确实施,第一次保存(提交)帖子会获得一个 ID。该 ID 保持不变。 (注意自动保存帖子 ID 和类似内容)。

    请告诉我更多关于“wp.media 对象”的知识,或者如果我遗漏了什么,请告诉我?

    【讨论】:

    • wp.media 是一个处理媒体上传器的 javascript 对象。例如,当您在编辑帖子时单击“添加媒体”按钮。我的问题是,如何告诉 wp.media 对象要将上传附加到哪个帖子 ID?在自动保存之前,该ID为0,在自动保存之后,我需要将ID传递给wp.media对象。
    • 感谢您的澄清。我不太喜欢 JS。因此,正如您所说,在自动保存后您会立即获得帖子 ID。带图像上传我从帖子表单/多部分中抓取了这个:name="post_id" 25 制作键/值对:post_id:25。发布后 ?p=25 将带我到帖子。消息来源似乎证实了这一点:github.com/WordPress/WordPress/blob/master/wp-admin/… - 所以在 $_REQUEST ($_POST) 中发送“post_id”应该可以让它坚持下去。
    • 感谢您的帮助。我遇到的问题是重新初始化 wp.media javascript 对象,而不需要用户首先发布/保存帖子。自动保存后我得到了帖子 ID,现在如何通过 javascript 将其传递给 wp.media?标准的 WordPress 帖子屏幕似乎可以做到这一点,我只是不知道如何......
    • 我明白了。 Lemme' 在控制台中稍微处理一下这个(js)并让 JS var 更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    • 2015-11-05
    • 2020-09-20
    • 1970-01-01
    • 2017-03-19
    相关资源
    最近更新 更多