wordpressの寄稿者権限で画像の投稿ができるようにする設定

目的

 ワードプレスで、エディターさんに「投稿してもらいたいけど公開はこちらで行いたい」というときは「寄稿者」の権限を与えることが便利です。

 ですが、寄稿者の権限ではwordpressに画像をアップロードすることができません。そのための対策です。

仕様

  • 「寄稿者権限」で画像をアップロードできるようにする
  • 他のメンバーの画像は見えないようにする

方法

“function.php”に次のソースを追加する。

まず、寄稿者権限でアップロードできるようにする。

if ( current_user_can('contributor') && !current_user_can('upload_files') ) {
	add_action('admin_init', 'my_contributor_uploads');
}
function my_contributor_uploads() {
	$contributor = get_role('contributor');
	$contributor -> add_cap('upload_files');
}

このままだと他のユーザーがアップロードした画像も編集できてしまうので、他のユーザーの画像はを閲覧できないようにする。

function my_self_upload_media( $query ) {
	if ( $user = wp_get_current_user() ) {
		$query['author'] = $user -> ID;
	}
	return $query;
}
add_action( 'ajax_query_attachments_args', 'my_self_upload_media' );

必ずバックアップを取ってから作業しましょう。