[워드프레스] 관리자 이외의 사용자가 미디어를 업로드하지 못하도록 설정하기

워드프레스에서 관리자만 미디어를 업로드할 수 있고 글쓴이(Author)나 편집자(Editor)는 업로드되어 있는 미디어만 선택할 수 있도록 설정해야 하는 경우가 발생할 수 있습니다.

이 경우 다음과 같은 방법을 생각해볼 수 있습니다.

플러그인 사용하기

User Role Editor와 같은 플러그인을 사용하여 글쓴이와 편집자의 권한을 변경할 수 있습니다. 이 플러그인을 설치하고 활성화한 후에 사용자 > User Role Editor로 이동합니다.

Select Role and change its capabilities: 부분에서 글쓴이(author)를 선택한 후에 "upload_files" 부분의 체크를 해제하면 파일 업로드 권한이 제거됩니다. 반대로 "upload_files" 체크란을 선택하면 파일 업로드가 가능해집니다.

Change Capabilities in WordPress - 워드프레스에서 권한 변경하기

편집자(editor)에 대해서도 동일한 과정을 수행하시면 됩니다.

참고로 미디어 업로드 권한이 없는 사용자 역할에 대하여 "upload_file" 권한을 활성화시키면 해당 사용자 역할의 사용자가 로그인하여 대시보드에 접근하면 미디어를 업로드할 수 있는 메뉴가 표시됩니다.

Media Upload Permission in WordPress for non-Administrator

사용자 코드 사용하기

다음으로 생각해볼 수 있는 방법으로 함수를 사용하는 것입니다. 다음과 코드가 author에 대한 upload_files(파일 업로드) 권한을 제거합니다.

$role = get_role( 'author' );
$role->remove_cap( 'upload_files' );

구체적인 적용 방법은 WordPress Codex 페이지에 자세히 설명되어 있습니다. 참고해보시기 바랍니다.

또 다른 방법으로 다음과 같은 필터를 사용할 수 있습니다.

function tomjn_only_upload_for_admin( $file ) {
if ( ! current_user_can( 'manage_options' ) ) {
$file['error'] = '관리자만 파일을 업로드할 수 있습니다!';
}
return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'tomjn_only_upload_for_admin' );
// Reference: wordpress.stackexchange.com

위와 같은 다양한 방법으로 미디어 파일 업로드 권한을 제한할 수 있습니다.

참고:

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

댓글 남기기

* 이메일 정보는 공개되지 않습니다.