Dragon主题购买
已解答
公开

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

1 人关注这个问题

    1 答案

    公开

    基于安全问题,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. 好的,感谢!
    公开

    基于安全问题,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. 好的,感谢!

    来提交答案

    扫一扫二维码分享
    ×
    We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. Learn more