0

我定义了一个自定义角色,它在前端有一个单独的个人资料页面。在个人资料页面中有一个带有添加媒体按钮的 wp_editor。但是没有附加图像。这是上传图片时出现的错误 -抱歉,您不能将文件附加到此帖子。

这是自定义角色的能力:

$admins = get_role( 'trip_vendor' );
$admins->add_cap( 'upload_files' );
$admins->add_cap( 'level_1' );
$admins->add_cap( 'edit_post' );                                                   
$admins->add_cap( 'edit_posts' ); 
$admins->add_cap( 'edit_other_posts' ); 
$admins->add_cap( 'publish_posts' ); 
$admins->add_cap( 'read_post' ); 
$admins->add_cap( 'read_private_posts' ); 
$admins->add_cap( 'delete_post' );
$admins->add_cap( 'can_edit_posts' );

这是自定义角色使用 ajax 登录的方式:

$user = $_POST['user'];
        $pass = $_POST['pass'];
        $creds = array();
        $creds['user_login'] = $user;
        $creds['user_password'] = $pass;
        $creds['remember'] = true;
        $user = wp_signon( $creds, is_ssl() );
        if ( is_wp_error($user) ) 
        {
          $result['type'] = 'failed';
          $result['message'] = __( 'Incorrect Login Credentials!.', 'wp-travel-engine' );
            if ( defined( 'DOING_AJAX' ) && DOING_AJAX )
            {
               $result = json_encode($result);
               echo $result;
            }
        }
        else{
            $_SESSION['login'] = 'login';
            $_SESSION['user'] = $user;
            $_SESSION['pass'] = $pass;
            $result['type'] = 'success';
            $result['message'] = __( 'Logging In...', 'wp-travel-engine' );
            if ( defined( 'DOING_AJAX' ) && DOING_AJAX )
            {
                $result = json_encode($result);
                echo $result;
            }
        }

有人可以为此提供一些指导吗?

4

1 回答 1

0

添加$admins->add_cap( 'upload_files' );

这也将使用户能够上传文件。

于 2019-09-29T21:55:02.693 回答