Link to specific Customizer section

As you’ve already discovered, links to the customizer always start with /wp-admin/customize.php.

Append ?autofocus[section] =section_name to checkout your section within the customizer. Both parameters (section and section_name) are registered within your customize_register hook:

$wp_customize->add_section

If you can’t find the hook, check the HTML markup of the customizer for further information. Both parameters are included within the list:

<li id="accordion-section-title_tagline" class="accordion-section control-section control-section-default">

Altogether your link may look something like this:

admin_url( '/customize.php?autofocus[section]=section_name' );

These are the links to the default customizer sections in Twenty Twenty WordPress theme:

  • Site Identity: /customize.php?autofocus[section]=title_tagline
  • Colors: /customize.php?autofocus[section]=colors
  • Theme Options: /customize.php?autofocus[section]=options
  • Cover Template: /customize.php?autofocus[section]=cover_template_options
  • Background Image: /customize.php?autofocus[section]=background_image
  • Menus: /customize.php?autofocus[panel]=nav_menus
  • Widgets: /customize.php?autofocus[panel]=widgets
  • Homepage Settings: /customize.php?autofocus[section]=static_front_page
  • Additional CSS: /customize.php?autofocus[section]=custom_css

Where to go from this?

I often find myself in need of a menu item from Appearance within the WordPress admin menu. So maybe this will be helpful for you, too:

add_action( 'admin_menu', 'wpse_custom_submenu_page' );
function wpse_custom_submenu_page() {
  add_submenu_page(
    'themes.php',
        __( 'Page title', 'textdomain' ),
        __( 'Menu title', 'textdomain' ),
        'manage_options',
        '/customize.php?autofocus[section]=section_name'
    );
}

Leave a Comment