将帖子ID分配给新的wp.media对象

时间:2014-02-18 23:04:34

标签: wordpress media uploader

我有一个用于发布帖子的自定义表单。首次创建新帖子时,没有现有的帖子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

2 个答案:

答案 0 :(得分:1)

最后整理出来。

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

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

我遇到的权限问题来自于我的用户角色没有'edit_post'功能的简单事实。咄。

答案 1 :(得分:0)

如果我没记错的话,媒体的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对象”的更多信息,或者如果我错过了某些内容,请告诉我?