已解答
公开

你好,我对 DWQA 开启了游客可以提问,但是编辑器不支持直接上传图片。网上找了一圈也没找到解决方案,请问有解决方法吗?

1 人关注这个问题

    1 答案

    公开
    龙笑天 2019-6-30 12:04 最佳答案

    基于安全问题,WP 系统,游客是不能上传图片的。
    默认只有作者以上权限才可以上传图片,但可以使用代码让投稿者(注册用户)也有上传图片权限。
     
    如果想让投稿者拥有上传图片权限,可以使用以下代码:

    // 开启投稿者图片上传权限
    if ( current_user_can('contributor') && !current_user_can('upload_files') ){
    add_action('admin_init', 'lxtx_allow_contributor_uploads');
    }
    function lxtx_allow_contributor_uploads() {
    $contributor = get_role('contributor');
    $contributor->add_cap('upload_files');
    }

    当然,使用了上面代码后,如果后续想取消投稿者上传图片权限的话,一定要去掉上面的代码,然后使用下面的代码:

    // 取消投稿者图片上传权限
    if ( current_user_can('contributor') && current_user_can('upload_files') ){
    add_action('admin_init', 'lxtx_remove_contributor_uploads');
    }
    function lxtx_remove_contributor_uploads() {
    $contributor = get_role('contributor');
    $contributor->remove_cap('upload_files');
    }
    #
    1. 好的,感谢!
    公开
    龙笑天 2019-6-30 12:04 最佳答案

    基于安全问题,WP 系统,游客是不能上传图片的。
    默认只有作者以上权限才可以上传图片,但可以使用代码让投稿者(注册用户)也有上传图片权限。
     
    如果想让投稿者拥有上传图片权限,可以使用以下代码:

    // 开启投稿者图片上传权限
    if ( current_user_can('contributor') && !current_user_can('upload_files') ){
    add_action('admin_init', 'lxtx_allow_contributor_uploads');
    }
    function lxtx_allow_contributor_uploads() {
    $contributor = get_role('contributor');
    $contributor->add_cap('upload_files');
    }

    当然,使用了上面代码后,如果后续想取消投稿者上传图片权限的话,一定要去掉上面的代码,然后使用下面的代码:

    // 取消投稿者图片上传权限
    if ( current_user_can('contributor') && current_user_can('upload_files') ){
    add_action('admin_init', 'lxtx_remove_contributor_uploads');
    }
    function lxtx_remove_contributor_uploads() {
    $contributor = get_role('contributor');
    $contributor->remove_cap('upload_files');
    }
    #1
    1. 好的,感谢!

    来提交答案

    扫一扫二维码分享
    ×