使用media-pload.php-是否要求用户具有EDIT_POSTS功能?

时间:2015-11-20 作者:C C

我在插件的选项页面上集成了一个图像上传操作。

它可以工作,但thickbox对话框中有一条消息“正在处理”,永远不会完成。在Firebug中检查控制台会显示返回错误消息“您不允许编辑此项目”。

我可以通过向用户角色添加\\u cap(“edit\\u posts”)来克服错误,但我really 无法执行此操作,因为它在Admin中打开了太多其他权限。

那么,如何使用媒体上传来简单地上传一幅图像并获取结果URL——而不让媒体上传认为用户需要edit\\u posts功能?jQuery click事件对上载程序的调用如下所示:

tb_show(\'Upload a Image\', \'media-upload.php?referer=media_page&type=image&TB_iframe=true&post_id=0\', false);

1 个回复
SO网友:C C

解决这个问题的办法很难看。首先,我必须在这个系统中创建所有帖子,从高ID号开始(比如10000)。我必须通过带有“import\\u id”建议的wp\\u insert\\u post来完成这项工作。这将移动所有内容don\'t 希望用户能够触摸到安全范围。

然后,使用此处描述的方法:http://mawaha.com/allow-user-to-edit-specific-post-using-map_meta_cap/

当帖子数量小于10000时,映射“edit\\u post”的元功能。

它可以工作,但man I wish WP允许在媒体处理程序中添加功能过滤器:-(

相关推荐

如何解决1145行/wp-includes/capabilities.php中的通知:未定义的偏移量:0

我已经看过这个问题的以前的例子,但根据我从其他人那里看到的情况,我找不到导致这个通知的解决方案。当我添加新帖子时,这会出现在屏幕顶部。1145是:$post = get_post( $args[0] ); 我没有收到任何其他类型的错误,因此我不确定这是在我的代码中导致问题的地方。Any help on this?代码如下://show metabox in post editing page add_action(\'add_meta_boxes\', \'kk_add_metabox\