親バカエンジニアのナレッジ帳

webのエンジニアをやっており、日頃の開発で詰まったことや書き残しておきたいことを載せています。

WordPressで編集者に外観を編集させる


編集者が外観を触れるように

WordPressでクライアントに編集者で管理画面を提供している場合、外観を自分で変更したいと要望を受けることはありませんか?
今回はそのような場合の対応方法についてです。

デフォルトの設定では、編集者は外観を変更するための権限がないので、多少phpのコードをいじる必要があります。
もしくはクライアントに管理者権限を付与してしまえば一発ですがw
なんか変なとこ触られたりして動かなくなったら嫌ですよね。

functions.phpを変更すれば解決!

コードをいじる箇所はテーマのfunctions.phpです。
以下の5行を入れさえすれば完了ですが、注意点としてifの中に入れないようにしてください。
条件付きでないと権限が付与されないなどの事象が起きてしまう可能性があります。
functions.phpの一番下に入れるのが良いと思います。

function add_theme_edit_role(){
    $role = get_role( 'editor' );
    $role->add_cap( 'edit_theme_options' );
}
add_action( 'admin_init', 'add_theme_edit_role' );

これで、
admin_initのアクション時(ユーザーが管理画面エリアにアクセスした際)に、編集者にテーマを更新する権限を付与する
というアクションが追加されました。

WordPressのテーマはリテラシーの低いクライアントが簡単に触れるものじゃないんですけどね〜、
と思いながら対応しましたw


いちばんやさしいWordPressの教本第3版 人気講師が教える本格Webサイトの作り方 (「いちばんやさしい教本」)

いちばんやさしいWordPressの教本第3版 人気講師が教える本格Webサイトの作り方 (「いちばんやさしい教本」)

本当によくわかるWordPressの教科書 はじめての人も、挫折した人も、本格サイトが必ず作れる

本当によくわかるWordPressの教科書 はじめての人も、挫折した人も、本格サイトが必ず作れる

WordPress 仕事の現場でサッと使える! デザイン教科書 (Webデザイナー養成講座)

WordPress 仕事の現場でサッと使える! デザイン教科書 (Webデザイナー養成講座)