mirror of
https://ghproxy.net/https://github.com/AlxMedia/featureon.git
synced 2025-08-26 11:18:26 +08:00
84 lines
1.9 KiB
PHP
84 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* Override field methods when used with the Kirki API.
|
|
*
|
|
* @package kirki-framework/control-custom
|
|
* @copyright Copyright (c) 2023, Themeum
|
|
* @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;
|
|
}
|
|
}
|