Home / APIs / _wp_customize_include() – Includes and instantiates the WP_Customize_Manager class.

Description

Includes and instantiates the WP_Customize_Manager class.

Loads the Customizer at plugins_loaded when accessing the customize.php admin page or when any request includes a wp_customize=on param or a customize_changeset param (a UUID). This param is a signal for whether to bootstrap the Customizer when WordPress is loading, especially in the Customizer preview or when making Customizer Ajax requests for widgets or menus.

Usage

_wp_customize_include();

Parameters

Returns

void

Source

File name: wordpress/wp-includes/theme.php


Lines: 1 to 73 of 73

function _wp_customize_include() {

  $is_customize_admin_page = ( is_admin() && 'customize.php' == basename( $_SERVER['PHP_SELF'] ) );
  $should_include = (
    $is_customize_admin_page
    ||
    ( isset( $_REQUEST['wp_customize'] ) && 'on' == $_REQUEST['wp_customize'] )
    ||
    ( ! empty( $_GET['customize_changeset_uuid'] ) || ! empty( $_POST['customize_changeset_uuid'] ) )
  );

  if ( ! $should_include ) {
    return;
  }

  /*
	 * Note that wp_unslash() is not being used on the input vars because it is
	 * called before wp_magic_quotes() gets called. Besides this fact, none of
	 * the values should contain any characters needing slashes anyway.
	 */
  $keys = array( 'changeset_uuid', 'customize_changeset_uuid', 'customize_theme', 'theme', 'customize_messenger_channel', 'customize_autosaved' );
  $input_vars = array_merge(
    wp_array_slice_assoc( $_GET, $keys ),
    wp_array_slice_assoc( $_POST, $keys )
  );

  $theme = null;
  $changeset_uuid = false; // Value false indicates UUID should be determined after_setup_theme to either re-use existing saved changeset or else generate a new UUID if none exists.
  $messenger_channel = null;
  $autosaved = null;
  $branching = false; // Set initially fo false since defaults to true for back-compat; can be overridden via the customize_changeset_branching filter.

  if ( $is_customize_admin_page && isset( $input_vars['changeset_uuid'] ) ) {
    $changeset_uuid = sanitize_key( $input_vars['changeset_uuid'] );
  } elseif ( ! empty( $input_vars['customize_changeset_uuid'] ) ) {
    $changeset_uuid = sanitize_key( $input_vars['customize_changeset_uuid'] );
  }

  // Note that theme will be sanitized via WP_Theme.
  if ( $is_customize_admin_page && isset( $input_vars['theme'] ) ) {
    $theme = $input_vars['theme'];
  } elseif ( isset( $input_vars['customize_theme'] ) ) {
    $theme = $input_vars['customize_theme'];
  }

  if ( ! empty( $input_vars['customize_autosaved'] ) ) {
    $autosaved = true;
  }

  if ( isset( $input_vars['customize_messenger_channel'] ) ) {
    $messenger_channel = sanitize_key( $input_vars['customize_messenger_channel'] );
  }

  /*
	 * Note that settings must be previewed even outside the customizer preview
	 * and also in the customizer pane itself. This is to enable loading an existing
	 * changeset into the customizer. Previewing the settings only has to be prevented
	 * here in the case of a customize_save action because this will cause WP to think
	 * there is nothing changed that needs to be saved.
	 */
  $is_customize_save_action = (
    wp_doing_ajax()
    &&
    isset( $_REQUEST['action'] )
    &&
    'customize_save' === wp_unslash( $_REQUEST['action'] )
  );
  $settings_previewed = ! $is_customize_save_action;

  require_once ABSPATH . WPINC . '/class-wp-customize-manager.php';
  $GLOBALS['wp_customize'] = new WP_Customize_Manager( compact( 'changeset_uuid', 'theme', 'messenger_channel', 'settings_previewed', 'autosaved', 'branching' ) );
}
 

 View on GitHub View on Trac

Called by

    Invoked by

      Calls

      1 to 6 of 6

      • _wp_customize_include() – Includes and instantiates the WP_Customize_Manager class.
      • is_admin() – Whether the current request is for an administrative interface page.
      • sanitize_key() – Sanitizes a string key.
      • wp_array_slice_assoc() – Extract a slice of an array, given a list of keys.
      • wp_doing_ajax() – Determines whether the current request is a WordPress Ajax request.
      • wp_unslash() – Remove slashes from a string or array of strings.

      Call hooks

      Function name: _wp_customize_include
      Plugin ref: WordPress
      Version: 4.9
      Sourcefile: wp-includes/theme.php
      File ref: wp-includes/theme.php
      API type: private
      Deprecated?: No
      API Letters: _,C,I,W

      Published: 12th March 2017 | Last updated: 17th November 2017

      Information

      Function name: _wp_customize_include
      Plugin ref: WordPress
      Version: 4.9
      Sourcefile: wp-includes/theme.php
      File ref: wp-includes/theme.php
      API type: private
      Deprecated?: No
      API Letters: _,C,I,W

      • Plugins
      • Themes
      • Shortcodes
      • APIs
      • Files
      • Hooks
      • Classes
      • Sites
      • Sitemap
      • Blog
      WooCommerce a2z WooCommerce a2z
      WooCommerce

      Site:  woocommerce.wp-a2z.org
      © Copyright WooCommerce a2z 2014-2018. All rights reserved.


      Website designed and developed by Herb Miller
      Proudly powered by WordPress and oik plugins