【问题标题】:Wordpress media uploader in front end form works but add media button in same form doesn't allow new uploads前端表单中的 Wordpress 媒体上传器有效,但在同一表单中添加媒体按钮不允许新上传
【发布时间】:2025-11-28 06:30:01
【问题描述】:

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

  1. 添加了define('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 编辑器的添加媒体按钮允许登录用户在编辑器中添加图像(该图像已存在于用户的媒体上传器中),但不允许上传新图像。

有什么建议吗?

【问题讨论】:

    标签: wordpress wp-editor


    【解决方案1】:

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

    【讨论】: