mirror of
https://ghproxy.net/https://github.com/AlxMedia/featureon.git
synced 2025-08-28 04:33:18 +08:00
85 lines
1.9 KiB
PHP
85 lines
1.9 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* Override field methods when used with the Kirki API.
|
||
|
*
|
||
|
* @package kirki-framework/control-custom
|
||
|
* @copyright Copyright (c) 2019, Ari Stathopoulos (@aristath)
|
||
|
* @license https://opensource.org/licenses/MIT
|
||
|
* @since 1.0
|
||
|
*/
|
||
|
|
||
|
namespace Kirki\Field;
|
||
|
|
||
|
use Kirki\Field;
|
||
|
|
||
|
/**
|
||
|
* Field overrides.
|
||
|
*
|
||
|
* @since 1.0
|
||
|
*/
|
||
|
class Custom extends Field {
|
||
|
|
||
|
/**
|
||
|
* The field type.
|
||
|
*
|
||
|
* @access public
|
||
|
* @since 1.0
|
||
|
* @var string
|
||
|
*/
|
||
|
public $type = 'kirki-custom';
|
||
|
|
||
|
/**
|
||
|
* The control class-name.
|
||
|
*
|
||
|
* @access protected
|
||
|
* @since 0.1
|
||
|
* @var string
|
||
|
*/
|
||
|
protected $control_class = '\Kirki\Control\Custom';
|
||
|
|
||
|
/**
|
||
|
* Whether we should register the control class for JS-templating or not.
|
||
|
*
|
||
|
* @access protected
|
||
|
* @since 0.1
|
||
|
* @var bool
|
||
|
*/
|
||
|
protected $control_has_js_template = true;
|
||
|
|
||
|
/**
|
||
|
* Filter arguments before creating the setting.
|
||
|
*
|
||
|
* @access public
|
||
|
* @since 0.1
|
||
|
* @param array $args The field arguments.
|
||
|
* @param WP_Customize_Manager $wp_customize The customizer instance.
|
||
|
* @return array
|
||
|
*/
|
||
|
public function filter_setting_args( $args, $wp_customize ) {
|
||
|
if ( $args['settings'] === $this->args['settings'] ) {
|
||
|
$args = parent::filter_setting_args( $args, $wp_customize );
|
||
|
if ( ! isset( $args['sanitize_callback'] ) || ! $args['sanitize_callback'] ) {
|
||
|
$args['sanitize_callback'] = '__return_null';
|
||
|
}
|
||
|
}
|
||
|
return $args;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Filter arguments before creating the control.
|
||
|
*
|
||
|
* @access public
|
||
|
* @since 0.1
|
||
|
* @param array $args The field arguments.
|
||
|
* @param WP_Customize_Manager $wp_customize The customizer instance.
|
||
|
* @return array
|
||
|
*/
|
||
|
public function filter_control_args( $args, $wp_customize ) {
|
||
|
if ( $args['settings'] === $this->args['settings'] ) {
|
||
|
$args = parent::filter_control_args( $args, $wp_customize );
|
||
|
$args['type'] = 'kirki-custom';
|
||
|
}
|
||
|
return $args;
|
||
|
}
|
||
|
}
|