上载出错。请稍后重试。‘适用于具有不同角色的用户

时间:2019-08-30 作者:Ale

这个问题似乎很常见,但网上的大多数解决方案都与我的问题无关。

因此,我有自定义的帖子类型,前端用户可以添加帖子并在该帖子中上载图像。我使用以下脚本允许订阅者上传媒体:

function add_media_cap()
{
    global $current_user;
    $user_roles = $current_user->roles;
    $user_role = array_shift($user_roles);

    if ($user_role == \'subscriber\') {
        $subscriber = get_role(\'subscriber\');
        $subscriber->add_cap(\'upload_files\');
        $subscriber->add_cap(\'edit_files\');
    }
}
add_action(\'init\', \'add_media_cap\');
还有这个,以限制他们看到其他媒体:

function show_current_user_attachments($query)
{
    $user_id = get_current_user_id();
    if ($user_id) {
        $query[\'author\'] = $user_id;
    }
    return $query;
}
add_filter(\'ajax_query_attachments_args\', \'show_current_user_attachments\',10, 1);
问题是,与管理员帐户,我可以上传图像没有问题。但是订阅者不能,他们得到了上述错误。我已经检查了来自“async upload”的响应。php’,它是空的。Empty也是开发人员工具中的控制台日志,Empty是错误日志。所有文件权限都是应具有的权限。

欢迎任何帮助。

1 个回复
SO网友:Ale

哦,好吧,在写问题时,我试图复制接受ajax调用的完整链接:example.com/wp-admin/async-upload.php 并注意到,对于子用户,它将用户带到他们的帐户页面,而管理员则从中获取The link you followed has expired. 屏幕上的通知。然后我得到了“啊哈”的时刻——我没有限制管理员wp-admin 并将他们重定向到他们的帐户页面。删除此重定向后,一切正常。

相关推荐

Changing Social Media

有人能告诉我如何更改我的社交媒体链接吗?我已经在谷歌上尝试了一切。我的wordpress是由不再能够帮助我的第三方建立的。我已经介绍了如何保持更新。在我的网站上,社交媒体的链接位于底部,但不是菜单、页脚或媒体链接。我找不到用于将它们放在那里的插件。