目的
ワードプレスで、エディターさんに「投稿してもらいたいけど公開はこちらで行いたい」というときは「寄稿者」の権限を与えることが便利です。
ですが、寄稿者の権限では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' );
必ずバックアップを取ってから作業しましょう。