カスタマイザーへの非管理者のアクセスを許可する

カスタマイザーへのアクセスは、カスタマイズメタ機能(デフォルトでは edit_theme_options にマッピングされる)によって制御されており、デフォルトでは管理者のみに割り当てられています。これにより、パネル、セクション、設定に組み込まれたカスタマイザーの広範な機能アクセスオプションをより広く利用できるようになります。さらに、これにより、非管理者がカスタマイザーを使用して、たとえば投稿のカスタマイズを行うことが可能になります。この変更は、カスタマイザーの範囲をテーマを超えて拡大するための重要なステップです。

  1. <?php
  2. function allow_users_who_can_edit_posts_to_customize( $caps, $cap, $user_id ) {
  3. $required_cap = 'edit_posts';
  4. if ( 'customize' === $cap && user_can( $user_id, $required_cap ) ) {
  5. $caps = array( $required_cap );
  6. }
  7. return $caps;
  8. }
  9. add_filter( 'map_meta_cap', 'allow_users_who_can_edit_posts_to_customize', 10, 3 );

現在、非管理者ユーザーにカスタマイズメタ機能を付与する場合、管理メニュー、管理バー、または他の場所にカスタマイザーへのリンクを手動で追加する必要があることに注意してください。