如何自定义 WordPress 代码,以便客户可以成功上传图像但看不到媒体库?

问题描述 投票:0回答:1

我们如何自定义Wordpress代码,以便客户可以成功上传图像,但看不到整个媒体库(他们只能在媒体库中看到他们上传的内容——或者在媒体库中根本看不到任何内容,他们只能上传到ACF 场)?

这是一个非常自定义的网站,使用 ACF 字段和 ACF 图像裁剪来上传图像。

我们已经测试了客户帐户,如果不添加,我们可以看到所有媒体文件图像 下面的代码成功阻止用户查看媒体库文件。但是,当我们尝试通过 ACF 字段上传图像(与 ACF Crop 一致)时,我们仍然会收到附加的错误消息。

当我们进一步测试时,当我们尝试从客户帐户上传媒体时,我们会在控制台中收到附加的错误消息 - 跨源时严格源(浏览器错误)

但是,对于管理员来说,它可以正常工作,没有任何问题。

我们是否缺少权限?代码?两者都?

Console Error

Upload Error

再次,此代码成功阻止用户查看媒体库文件,但我们仍然收到附加的错误消息。


// Limit media library access

add_filter( 'ajax_query_attachments_args', 'wpb_show_current_user_attachments' );

function wpb_show_current_user_attachments( $query ) {
$user_id = get_current_user_id();
if ( $user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts
') ) {
$query['author'] = $user_id;
} 
return $query;
}

我们也尝试了这个代码(以及上面的代码),同样的错误消息,没有进一步的线索

add_action('add_attachment', 'wpb_allow_cors_for_image_upload');

function wpb_allow_cors_for_image_upload() {

header('Access-Control-Allow-Origin: *');

header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS');

header('Access-Control-Allow-Headers: Content-Type, Authorization');

}

我们更改了上传文件的权限,但它不起作用。

进一步研究的其他代码不起作用。

我们已经让我们的服务器提供商彻底检查了他们的终端,他们已经确认这不是他们的服务器的问题。

帮助。

wordpress image file-upload advanced-custom-fields
1个回答
0
投票

我在upwork上看到了这篇文章。我最近开发了一个插件,差不多就是你想要的。你可以在我的 GitHub 上查看 https://github.com/moonbyt3/uploads-for-registered-users

插件只是一个耦合到 WordPress 挂钩的文件,它需要主题本身之外的特定于您的网站的功能,该功能应该保存您的布局、样式和交互。这与您获取所有这些代码并将其包含到您的主题的 functions.pho 中是一样的。 不管怎样,如果你认为这有帮助,我愿意合作,你可以在 GitHub 上找到我的邮件。

© www.soinside.com 2019 - 2024. All rights reserved.