Menu

Changing Default WordPress Theme Customization API Sections

Theme Customization API is a life-saving feature used for making the theme customization panel that can be found under Appearance menu. It comes with six built-in sections, they are listed below in format "ID - Title":

In order for any of the code in this article to actually work you need to place it inside a function and hook it to customize_register action so if you already have it just use that one, if not use the one below.

functions.php
function customize_register_init( $wp_customize ){
    // Any Customizer-changing code goes here
}

add_action( 'customize_register', 'customize_register_init' );

Changing Customizer Sections Titles

Let's change the titles of Colors and Header Image sections. To do so we need to use $wp_customize class, that's why it's been added as an argument to the customize_register_init function.

functions.php
$wp_customize->get_section('colors')->title = __( 'Theme Colors' );
$wp_customize->get_section('header_image')->title = __( 'Featured Image' );

Changing Customizer Sections Order

We can also change the order in which the customizer sections appear. Default priority for all sections is 10 so if you want your section to appear above the default one just give it a priority ranging from 1 to 9.

functions.php
// This section will appear on the top
$wp_customize->add_section( 'my_top_custom_section' , array(
    'title'      => __('My Top Custom Section'),
    'priority'   => 1,
));

// This section will appear on the bottom
$wp_customize->add_section( 'my_bottom_custom_section' , array(
    'title'      => __('My Bottom Custom Section'),
    'priority'   => 20,
));

Same thing goes for changing the order of the default ones, for example this code will put Header Image on top and Colors on the bottom. Note that even if we changed the section titles to "Theme Colors" and "Featured Image", IDs "colors" and "header_image" are used.

functions.php
$wp_customize->get_section('colors')->priority = 20;
$wp_customize->get_section('header_image')->priority = 1;

Remove Specific Customizer Section

If you don't need some sections why not remove them? Code below will remove Site Title & Tagline that WordPress adds by default.

$wp_customize->remove_section('title_tagline');

Remove Specific Customizer Control

To remove only the Tagline field from Site Title & Tagline section use the following.

functions.php
$wp_customize->remove_control('blogdescription');

This way you will have complete control of the Customizer sections, quick and easy.