2022年03月29日
Actionフック:customize_register
アクションフックの customize_register は、外観→カスタマイズの実行時にフックされます。
カスタムメニュの追加/削除及びユーザ作成メニュの追加に利用します。
1.基本系
基本系は下記になります。
function ○○($wp_customize){ // 不要なカスタマイズメニュの削除 // 新規カスタマイズメニュの追加 } add_action( 'customize_register', ○○,$priority,$num);
■'customize_register'は関数に参照変数として$wp_customizeを提供します。
よって$numは1になります。
事例
①不要なカスマイズメニュを削除する。
function remove_item($wp_customize){ $wp_customize->remove_panel('nav_menus'); // メニュを削除 $wp_customize->remove_panel('widgets'); // ウィジェットを削除 $wp_customize->remove_section('static_front_page'); //ホームページ設定を削除 $wp_customize->remove_section('custom_css'); //追加CSSを削除 } add_action( 'customize_register', 'remove_item',10,1);
■詳細は 不要なカスタマイズメニュの削除を参照してください。
②ユーザが作成したカスタマイズメニュを作成する。
function add_custom_item($wp_customize){ // 外観→カスタマイズにサイドバーの位置(左右)を設定するメニューを新設する $wp_customize->add_section( 'sidebar_section', array( 'title' => 'サイドバー設定', 'priority' => 81, 'description' => 'サイドバーレイアウトを選択してください。', )); $wp_customize->add_setting( 'sidebar_setting', array( 'default' => 'right', 'sanitize_callback' => function ($input, $setting){ $input = sanitize_key( $input ); $choices = $setting->manager->get_control($setting->id)->choices; return ( array_key_exists( $input, $choices ) ? $input : $setting->default ); } )); $wp_customize->add_control( 'sidebar_setting', array( 'section' => 'sidebar_section', 'label' => 'サイドバー設定', 'description' => 'サイドバー位置を下記から選択して下さい', 'type' => 'radio', 'choices' => array( 'left' => '左', 'right' => '右') )); // 外観→カスタマイズに画面の左右マージン量を設定するメニューを追加する $wp_customize->add_section( 'margin_section', array( 'title' => '画面の左右余白設定', 'description' => '基本マージンは下記になります<br/>修正する場合は値を入れてください。', 'priority' => 82, )); $wp_customize->add_setting( 'margin_pc', array( 'default' => 8, 'sanitize_callback' => 'absint' )); $wp_customize->add_control('margin_pc', array( 'section' => 'margin_section', 'label' => 'PCマージン', 'description' => '修正値は<font color="red">%</font>です', 'type' => 'number', )); $wp_customize->add_setting('margin_sm', array( 'default' => 2, 'sanitize_callback' => 'absint' )); $wp_customize->add_control( 'margin_sm', array( 'section' => 'margin_section', 'label' => 'タブレットマージン', 'description' => '修正値は<font color="red">%</font>です', 'type' => 'number', )); $wp_customize->add_setting('margin_xs', array( 'default' => '0', 'sanitize_callback' => 'absint' )); $wp_customize->add_control( 'margin_xs', array( 'section' => 'margin_section', 'label' => 'スマホマージン', 'description' => '修正値は<font color="red">px</font>です', 'type' => 'number', )); } add_action( 'customize_register', 'add_custom_item',10,1);
■詳細は カスタマイズ画面にユーザ新規メニュを追加する方法を参照してください。