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