mandava
6/23/2017 - 3:01 AM

How to link into the WordPress Customizer

How to link into the WordPress Customizer

/**
 * How to link into the WordPress Customizer
 */

Simple Link:
<a href="<?php echo esc_url( admin_url( 'customize.php' ) ); ?>">Link to Customizer</a>


Link to Panel:
$query['autofocus[panel]'] = 'nav_menus';
$panel_link = add_query_arg( $query, admin_url( 'customize.php' ) );
?><a href="<?php echo esc_url( $panel_link ); ?>">Link to Panel</a>


Link to section:
$query['autofocus[section]'] = 'title_tagline';
$section_link = add_query_arg( $query, admin_url( 'customize.php' ) );
?><a href="<?php echo esc_url( $section_link ); ?>">Link to Section</a>


Link to control (field)
$query['autofocus[control]'] = 'blogname';
$control_link = add_query_arg( $query, admin_url( 'customize.php' ) );
?><a href="<?php echo esc_url( $control_link ); ?>">Link to Control</a>


Return somewhere else after the Customizer:
$query['return'] = admin_url();
$link_with_return = add_query_arg( $query, admin_url( 'customize.php' ) );


Link to control, the return to another page:
$query['autofocus[control]'] = 'blogname';
$query['return'] = admin_url( 'post-new.php' );
$link = add_query_arg( $query, admin_url( 'customize.php' ) );
?><a href="<?php echo esc_url( $link ); ?>">Set title, then write post</a>


Set Preview page:
$query['url'] = site_url( '/news' );
$link = add_query_arg( $query, admin_url( 'customize.php' ) );
?><a href="<?php echo esc_url( $link ); ?>">News Page in Preview</a>



All together:
$query['autofocus[section]'] = 'menu_locations';
$query['return'] = admin_url( 'post-new.php?post_type=page' );
$query['url'] = site_url( '/about-us' );
$link = add_query_arg( $query, admin_url( 'customize.php' ) );
?><a href="<?php echo esc_url( $link ); ?>">Craziness!</a>