背景:
我遇到了这个WP问题:https://core.trac.wordpress.org/ticket/41445简而言之:当您通过REST API向帖子发出请求时,如果特色图片最初上载到其他帖子,而此帖子无法通过REST API访问(例如,原始帖子被丢弃,是草稿等),您将获得403 error.
这是WordPress API中的一个bug,尚未修复。
显然,之所以会发生这种情况,是因为所有附件都从其父帖子继承了状态(在数据库中,post_status=\'inherit\'
)
可能的解决方法如下this suggestion, 我已经更新了数据库中当前所有图像的状态:UPDATE wp_posts
SET post_status=\'publish\'
WHERE post_type = \'attachment\'
AND post_mime_type LIKE \'image/%\';
这修复了我当前拥有的所有图像的问题。。。但它显然无法修复将来将上传的任何图像。
UPDATE wp_posts
SET post_status=\'publish\'
WHERE post_type = \'attachment\'
AND post_mime_type LIKE \'image/%\';
我可以额外拨款capabilities 给我的用户edit_posts, edit_private_posts
和edit_others_posts
.
解决了问题,但绝对不理想。。。
永久解决方案add_attachment 在图像上传到WP后立即更改状态?
我错过什么了吗?有没有更好的方法?
更新(2019年6月)
如评论中所述,@cjbj的回答完全符合我的要求(上传新附件时,它会将此附件的状态设置为“发布”)。不幸的是,此解决方案似乎会破坏媒体库,因为它不会显示post\\u status=\'publish\'的图像/附件。对于任何面临同样问题的人,我建议采取向用户添加额外功能的方式。