GC_Customize_Partial::__construct()

最后更新于:2021-11-27 07:28:45

GC_Customize_Partial::__construct( GC_Customize_Selective_Refresh$component, string$id, array$args=array())

Constructor.

参数

$component

(GC_Customize_Selective_Refresh) (Required) Customize Partial Refresh plugin instance.

$id

(string) (Required) Control ID.

$args

(array) (Optional) Array of properties for the new Partials object.

  • ‘type’
    (string) Type of the partial to be created.
  • ‘selector’
    (string) The jQuery selector to find the container element for the partial, that is, a partial’s placement.
  • ‘settings’
    (string[]) IDs for settings tied to the partial. If undefined, $id will be used.
  • ‘primary_setting’
    (string) The ID for the setting that this partial is primarily responsible for rendering. If not supplied, it will default to the ID of the first setting.
  • ‘capability’
    (string) Capability required to edit this partial. Normally this is empty and the capability is derived from the capabilities of the associated $settings.
  • ‘render_callback’
    (callable) Render callback. Callback is called with one argument, the instance of GC_Customize_Partial. The callback can either echo the partial or return the partial as a string, or return false if error.
  • ‘container_inclusive’
    (bool) Whether the container element is included in the partial, or if only the contents are rendered.
  • ‘fallback_refresh’
    (bool) Whether to refresh the entire preview in case a partial cannot be refreshed. A partial render is considered a failure if the render_callback returns false.

Default value: array()

源文件

文件: gc-includes/customize/class-gc-customize-partial.php

	public function __construct( GC_Customize_Selective_Refresh $component, $id, $args = array() ) {
		$keys = array_keys( get_object_vars( $this ) );
		foreach ( $keys as $key ) {
			if ( isset( $args[ $key ] ) ) {
				$this->$key = $args[ $key ];
			}
		}

		$this->component       = $component;
		$this->id              = $id;
		$this->id_data['keys'] = preg_split( '/[/', str_replace( ']', '', $this->id ) );
		$this->id_data['base'] = array_shift( $this->id_data['keys'] );

		if ( empty( $this->render_callback ) ) {
			$this->render_callback = array( $this, 'render_callback' );
		}

		// Process settings.
		if ( ! isset( $this->settings ) ) {
			$this->settings = array( $id );
		} elseif ( is_string( $this->settings ) ) {
			$this->settings = array( $this->settings );
		}

		if ( empty( $this->primary_setting ) ) {
			$this->primary_setting = current( $this->settings );
		}
	}