WP_Customize_Setting::value(): mixed

In this article

Fetch the value of the setting.

Return

mixed The value.

Source

public function value() {
	$id_base      = $this->id_data['base'];
	$is_core_type = ( 'option' === $this->type || 'theme_mod' === $this->type );

	if ( ! $is_core_type && ! $this->is_multidimensional_aggregated ) {

		// Use post value if previewed and a post value is present.
		if ( $this->is_previewed ) {
			$value = $this->post_value( null );
			if ( null !== $value ) {
				return $value;
			}
		}

		$value = $this->get_root_value( $this->default );

		/**
		 * Filters a Customize setting value not handled as a theme_mod or option.
		 *
		 * The dynamic portion of the hook name, `$id_base`, refers to
		 * the base slug of the setting name, initialized from `$this->id_data['base']`.
		 *
		 * For settings handled as theme_mods or options, see those corresponding
		 * functions for available hooks.
		 *
		 * @since 3.4.0
		 * @since 4.6.0 Added the `$this` setting instance as the second parameter.
		 *
		 * @param mixed                $default_value The setting default value. Default empty.
		 * @param WP_Customize_Setting $setting       The setting instance.
		 */
		$value = apply_filters( "customize_value_{$id_base}", $value, $this );
	} elseif ( $this->is_multidimensional_aggregated ) {
		$root_value = self::$aggregated_multidimensionals[ $this->type ][ $id_base ]['root_value'];
		$value      = $this->multidimensional_get( $root_value, $this->id_data['keys'], $this->default );

		// Ensure that the post value is used if the setting is previewed, since preview filters aren't applying on cached $root_value.
		if ( $this->is_previewed ) {
			$value = $this->post_value( $value );
		}
	} else {
		$value = $this->get_root_value( $this->default );
	}
	return $value;
}

Hooks

apply_filters( “customize_value_{$id_base}”, mixed $default_value, WP_Customize_Setting $setting )

Filters a Customize setting value not handled as a theme_mod or option.

Changelog

VersionDescription
3.4.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.