<?php
/**
* WordPress Customize Setting classes
*
* @package Kirki
* @subpackage Modules
* @since 3.0.0
*/
namespace Kirki\Util\Setting;
/**
* Handles saving and sanitizing of user-meta.
*
* @since 3.0.0
* @see WP_Customize_Setting
*/
class Site_Option extends \WP_Customize_Setting {
/**
* Type of customize settings.
*
* @access public
* @since 3.0.0
* @var string
*/
public $type = 'site_option';
/**
* Get the root value for a setting, especially for multidimensional ones.
*
* @access protected
* @since 3.0.0
* @param mixed $default Value to return if root does not exist.
* @return mixed
*/
protected function get_root_value( $default = null ) {
return get_site_option( $this->id_data['base'], $default );
}
/**
* Set the root value for a setting, especially for multidimensional ones.
*
* @access protected
* @since 3.0.0
* @param mixed $value Value to set as root of multidimensional setting.
* @return bool Whether the multidimensional root was updated successfully.
*/
protected function set_root_value( $value ) {
return update_site_option( $this->id_data['base'], $value );
}
/**
* Save the value of the setting, using the related API.
*
* @access protected
* @since 3.0.0
* @param mixed $value The value to update.
* @return bool The result of saving the value.
*/
protected function update( $value ) {
return $this->set_root_value( $value );
}
/**
* Fetch the value of the setting.
*
* @access protected
* @since 3.0.0
* @return mixed The value.
*/
public function value() {
return $this->get_root_value( $this->default );
}
}