前端表单中的 Wordpress 媒体上传器可以工作,但在同一表单中添加媒体按钮不允许新上传

问题描述

我有一个前端表单,允许登录用户使用 wp 编辑器的添加媒体按钮上传带有特色图像(使用 wp 媒体按钮)和文本区域(the_content)中的图像的帖子。 虽然 wp 媒体按钮允许用户上传新图像,但 wp 编辑器的添加媒体按钮不允许同一用户上传新图像。错误消息是“您无权将文件附加到此出版物”。 我已经尝试了以下解决方案,但没有任何成功:

  1. 添加了定义('CONCATENATE_SCRIPTS',false);在 wp-config 中

  2. 从 bootstrap.min.css 中删除了 /*# sourceMappingURL=bootstrap.min.css.map */

  3. 通过php文件为相关角色添加以下能力

    函数 wpse210884_add_upload_files_cap() { $role = get_role('特定角色'); $role->add_cap('upload_files'); $role->add_cap('edit_post'); $role->add_cap('edit_others_pages'); $role->add_cap('edit_published_pa​​ges'); } register_activation_hook( FILE,'wpse210884_add_upload_files_cap');

前端表单显示wp编辑器的代码如下

$settings1 = array( 'media_buttons' => true,'textarea_name' => 'presentation','teeny' => true,'quicktags' => false );
ob_start();
wp_editor( $oldcontent,"myeditor1",$settings1 );
$editor_presentation = ob_get_clean();
echo $editor_presentation;

wp 编辑器的添加媒体按钮允许登录用户在编辑器中添加图像(用户的媒​​体上传器中已经存在),但不允许上传新图像。

有什么建议吗?

解决方法

我修改了错误的用户角色。因此,在为正确的用户角色设置正确的能力后,它就可以工作了。考虑到添加功能 edit_published_pa​​ges 将在某些主题页面中为该特定用户角色在网站的每个页面上显示“修改”链接,这是我不想要的。所以我还必须从 content-single.php 和 content.php 中删除 edit_post_link

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...