블록 에디터 글쓴이 선택에 관리자가 보이지 않을 때
블록 에디터에서 글쓴이를 변경하려고 할 때 사용자 선택을 하려고 보면 Author(글쓴이) 역할(role)에 속한 사용자만 보이게 됩니다.
이 전 metabox 방식에서는 글을 쓸 수 있는 모든 사용자가 보였었지만, 블록 에디터 에서는 Author 만 보이도록 Core에서 지정되어 있습니다.
나중에 Core가 업데이트 되어가면서 수정될 수 있지만, 우선 이 기능이 필요한 경우 테마의 functions.php 파일에 아래내용을 추가하여 ‘publish_posts’ 권한을 가진 모든 사용자를 리스팅 할 수 있습니다.
(authors 만 호출하는 REST API Request 가 있을 수 있어 새 글 쓰기, 글 편집 화면에서 요청하는 경우만 작동하도록 했습니다)
add_filter( 'rest_user_query', function($args, $request) {
if ( $request['context'] !== 'view' || empty( $args['who'] ) || 'authors' !== $args['who'] ) {
return $args;
}
$ref = wp_get_referer();
$allowed = [admin_url('post.php'), admin_url('post-new.php')];
foreach ( $allowed as $i => $url ) {
$allowed[$i] = str_replace( ['http://', 'https://'], '', $url );
}
$do = false;
foreach ( $allowed as $url ) {
if ( strpos($ref, $url) !== false ) {
$do = true;
break;
}
}
if ( !$do )
return $args;
unset($args['who']);
$args['capability'] = 'publish_posts';
return $args;
}, 10, 2 );