Link to specific Customizer section

The question:

I’ve got a site with a few extra Customizer sections. Is there a way to link directly to these so that section open when the page loads?

Something like http://mysites.com/wp-admin/customize.php#fonts

screenshot http://new.tinygrab.com/96412a96d208cf8ff0cf5803327b2d29e0ca68810e.png

The Solutions:

Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.

Method 1

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'
    );
}


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Comment