The customize_register WordPress PHP action fires once WordPress has loaded, allowing you to customize and manipulate the Theme Customization admin screen.
Usage
add_action('customize_register', 'your_custom_function_name');
function your_custom_function_name($wp_customize) {
// your custom code here
}
Parameters
- $wp_customize (WP_Customize_Manager): An instance of the WP_Customize_Manager class that controls the Theme Customizer screen.
More information
See WordPress Developer Resources: customize_register
Examples
Add a color picker control
Add a color picker control to the customizer to change the background color.
function mytheme_customize_register($wp_customize) {
$wp_customize->add_setting('mytheme_background_color', array(
'default' => '#FFFFFF',
'sanitize_callback' => 'sanitize_hex_color',
'transport' => 'refresh',
));
$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'mytheme_background_color', array(
'label' => __('Background Color', 'mytheme'),
'section' => 'colors',
'settings' => 'mytheme_background_color',
)));
}
add_action('customize_register', 'mytheme_customize_register');
Add a custom logo control
Add a custom logo control to the customizer, allowing users to upload their own logo.
function mytheme_customize_register($wp_customize) {
$wp_customize->add_setting('mytheme_logo', array(
'sanitize_callback' => 'esc_url_raw',
'transport' => 'refresh',
));
$wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'mytheme_logo', array(
'label' => __('Logo', 'mytheme'),
'section' => 'title_tagline',
'settings' => 'mytheme_logo',
)));
}
add_action('customize_register', 'mytheme_customize_register');
Add a text area control
Add a text area control to the customizer for users to add custom footer text.
function mytheme_customize_register($wp_customize) {
$wp_customize->add_setting('mytheme_footer_text', array(
'default' => '',
'sanitize_callback' => 'wp_kses_post',
'transport' => 'refresh',
));
$wp_customize->add_control('mytheme_footer_text', array(
'label' => __('Footer Text', 'mytheme'),
'section' => 'footer',
'type' => 'textarea',
'settings' => 'mytheme_footer_text',
));
}
add_action('customize_register', 'mytheme_customize_register');
Add a radio button control
Add a radio button control to the customizer for users to choose a layout style.
function mytheme_customize_register($wp_customize) {
$wp_customize->add_setting('mytheme_layout_style', array(
'default' => 'full-width',
'sanitize_callback' => 'mytheme_sanitize_layout',
'transport' => 'refresh',
));
$wp_customize->add_control('mytheme_layout_style', array(
'label' => __('Layout Style', 'mytheme'),
'section' => 'layout',
'type' => 'radio',
'choices' => array(
'full-width' => __('Full Width', 'mytheme'),
'boxed' => __('Boxed', 'mytheme'),
),
'settings' => 'mytheme_layout_style',
));
}
function mytheme_sanitize_layout($input) {
$valid = array(
'full-width' => __('Full Width', 'mytheme'),
'boxed' => __('Boxed', 'mytheme'),
);
if (array_key_exists($input, $valid)) {
return $input;
} else {
return '';
}
}
add_action('customize_register', 'mytheme_customize_register');
Add a dropdown pages control
Add a dropdown pages control to the customizer for users to select a custom home page.
function mytheme_customize_register($wp_customize) {
$wp_customize->add_setting('mytheme_home_page', array(
'default' => '',
'sanitize_callback' => 'absint',
'transport' => 'refresh',
));
$wp_customize->add_control('mytheme_home_page', array(
'label' => __('Home Page', 'mytheme'),
'section' => 'static_front_page',
'type' => 'dropdown-pages',
'settings' => 'mytheme_home_page',
));
}
add_action('customize_register', 'mytheme_customize_register');