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

webのエンジニアをやっており、日頃の開発で詰まったことや書き残しておきたいことを載せています。育児のイロハという育児サイト(https://ikujip.jp)の開発も行っているため、その開発で使用されている技術についても掲載しています。

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 仕事の現場でサッと使える! デザイン教科書 (Webデザイナー養成講座)

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