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

Wordpress 将帖子ID分配给新的wp.media对象,wordpress,media,uploader,Wordpress,Media,Uploader,我有一个发布帖子的自定义表单。首次创建新帖子时,没有现有的帖子ID,因此在保存帖子并为帖子生成ID之前,将照片附加到帖子是不起作用的 我做的第一件事是启动自动保存,以便生成一个post ID来表示新的post。但是,我不知道如何用这个新ID更新wp.media对象,以便将上传的帖子分配给自动保存期间生成的ID 是否有方法使用新的post ID重新初始化wp.media对象 编辑 我找到了这个资源,但它似乎没有涵盖如何分配帖子ID,而且我似乎也无法在git引用的源代码中找到它 更新 看起来我可以

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

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

是否有方法使用新的post ID重新初始化wp.media对象

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

更新 看起来我可以通过简单地执行以下操作将post ID重新分配给wp.media对象:

wp.media.model.settings.post.id = new_id;
但是,我现在遇到一些权限问题。作为管理员,一切正常,但作为任何其他用户,我收到一个错误“上传时出错。请稍后再试。”

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


R

如果我没记错的话,媒体的ID就像post/page一样。由编辑/系统将媒体与帖子关联起来

当我将图像(媒体)上载到本地设备时,我会通过以下方式进行编辑:

site.com/wp-admin/post.php?post=19&action=edit
其中19是媒体ID

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

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

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

最终解决了问题

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

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

我遇到的权限问题来自一个简单的事实,即我的用户角色没有“编辑帖子”功能。Duh.

wp.media是一个处理媒体上传程序的javascript对象。例如,在编辑文章时单击“添加媒体”按钮。我的问题是,如何告诉wp.media对象将上传附加到哪个post ID?在自动保存之前,ID为0,在自动保存之后,我需要将ID传递给wp.media对象。我不会把JS弄得一团糟。所以,正如你所说,在自动保存后,你立即获得了post ID。W/图像上传我从post表单/多部分中抓取了它:
name=“post\u ID”25
制作键/值对:post\u ID:25。一旦出版?p=25将带我去邮局。消息来源似乎证实了这一点:-因此,在$u请求($u post)中发送“post\u id”应该会使其保持不变。谢谢您的帮助。我遇到的问题是重新初始化wp.media javascript对象,而不需要用户首先发布/保存帖子。我在自动保存后得到了post ID,现在如何通过javascript将其传递给wp.media?标准的WordPress post屏幕似乎做得很好,我只是不知道如何…我明白了。Lemme’在控制台中稍微处理一下这个(js),然后让js变量更新。哈,我也犯了同样的操作符错误。我刚刚准备发布一个建议来钩住并重新分配/更新JS obj。同一波长很好。