Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-inclu...
File: class-wp-customize-manager.php
return $section;
[4000] Fix | Delete
}
[4001] Fix | Delete
[4002] Fix | Delete
/**
[4003] Fix | Delete
* Retrieves a customize section.
[4004] Fix | Delete
*
[4005] Fix | Delete
* @since 3.4.0
[4006] Fix | Delete
*
[4007] Fix | Delete
* @param string $id Section ID.
[4008] Fix | Delete
* @return WP_Customize_Section|void The section, if set.
[4009] Fix | Delete
*/
[4010] Fix | Delete
public function get_section( $id ) {
[4011] Fix | Delete
if ( isset( $this->sections[ $id ] ) ) {
[4012] Fix | Delete
return $this->sections[ $id ];
[4013] Fix | Delete
}
[4014] Fix | Delete
}
[4015] Fix | Delete
[4016] Fix | Delete
/**
[4017] Fix | Delete
* Removes a customize section.
[4018] Fix | Delete
*
[4019] Fix | Delete
* Note that removing the section doesn't destroy the WP_Customize_Section instance or remove its filters.
[4020] Fix | Delete
*
[4021] Fix | Delete
* @since 3.4.0
[4022] Fix | Delete
*
[4023] Fix | Delete
* @param string $id Section ID.
[4024] Fix | Delete
*/
[4025] Fix | Delete
public function remove_section( $id ) {
[4026] Fix | Delete
unset( $this->sections[ $id ] );
[4027] Fix | Delete
}
[4028] Fix | Delete
[4029] Fix | Delete
/**
[4030] Fix | Delete
* Registers a customize section type.
[4031] Fix | Delete
*
[4032] Fix | Delete
* Registered types are eligible to be rendered via JS and created dynamically.
[4033] Fix | Delete
*
[4034] Fix | Delete
* @since 4.3.0
[4035] Fix | Delete
*
[4036] Fix | Delete
* @see WP_Customize_Section
[4037] Fix | Delete
*
[4038] Fix | Delete
* @param string $section Name of a custom section which is a subclass of WP_Customize_Section.
[4039] Fix | Delete
*/
[4040] Fix | Delete
public function register_section_type( $section ) {
[4041] Fix | Delete
$this->registered_section_types[] = $section;
[4042] Fix | Delete
}
[4043] Fix | Delete
[4044] Fix | Delete
/**
[4045] Fix | Delete
* Renders JS templates for all registered section types.
[4046] Fix | Delete
*
[4047] Fix | Delete
* @since 4.3.0
[4048] Fix | Delete
*/
[4049] Fix | Delete
public function render_section_templates() {
[4050] Fix | Delete
foreach ( $this->registered_section_types as $section_type ) {
[4051] Fix | Delete
$section = new $section_type( $this, 'temp', array() );
[4052] Fix | Delete
$section->print_template();
[4053] Fix | Delete
}
[4054] Fix | Delete
}
[4055] Fix | Delete
[4056] Fix | Delete
/**
[4057] Fix | Delete
* Adds a customize control.
[4058] Fix | Delete
*
[4059] Fix | Delete
* @since 3.4.0
[4060] Fix | Delete
* @since 4.5.0 Return added WP_Customize_Control instance.
[4061] Fix | Delete
*
[4062] Fix | Delete
* @see WP_Customize_Control::__construct()
[4063] Fix | Delete
*
[4064] Fix | Delete
* @param WP_Customize_Control|string $id Customize Control object, or ID.
[4065] Fix | Delete
* @param array $args Optional. Array of properties for the new Control object.
[4066] Fix | Delete
* See WP_Customize_Control::__construct() for information
[4067] Fix | Delete
* on accepted arguments. Default empty array.
[4068] Fix | Delete
* @return WP_Customize_Control The instance of the control that was added.
[4069] Fix | Delete
*/
[4070] Fix | Delete
public function add_control( $id, $args = array() ) {
[4071] Fix | Delete
if ( $id instanceof WP_Customize_Control ) {
[4072] Fix | Delete
$control = $id;
[4073] Fix | Delete
} else {
[4074] Fix | Delete
$control = new WP_Customize_Control( $this, $id, $args );
[4075] Fix | Delete
}
[4076] Fix | Delete
[4077] Fix | Delete
$this->controls[ $control->id ] = $control;
[4078] Fix | Delete
return $control;
[4079] Fix | Delete
}
[4080] Fix | Delete
[4081] Fix | Delete
/**
[4082] Fix | Delete
* Retrieves a customize control.
[4083] Fix | Delete
*
[4084] Fix | Delete
* @since 3.4.0
[4085] Fix | Delete
*
[4086] Fix | Delete
* @param string $id ID of the control.
[4087] Fix | Delete
* @return WP_Customize_Control|void The control object, if set.
[4088] Fix | Delete
*/
[4089] Fix | Delete
public function get_control( $id ) {
[4090] Fix | Delete
if ( isset( $this->controls[ $id ] ) ) {
[4091] Fix | Delete
return $this->controls[ $id ];
[4092] Fix | Delete
}
[4093] Fix | Delete
}
[4094] Fix | Delete
[4095] Fix | Delete
/**
[4096] Fix | Delete
* Removes a customize control.
[4097] Fix | Delete
*
[4098] Fix | Delete
* Note that removing the control doesn't destroy the WP_Customize_Control instance or remove its filters.
[4099] Fix | Delete
*
[4100] Fix | Delete
* @since 3.4.0
[4101] Fix | Delete
*
[4102] Fix | Delete
* @param string $id ID of the control.
[4103] Fix | Delete
*/
[4104] Fix | Delete
public function remove_control( $id ) {
[4105] Fix | Delete
unset( $this->controls[ $id ] );
[4106] Fix | Delete
}
[4107] Fix | Delete
[4108] Fix | Delete
/**
[4109] Fix | Delete
* Registers a customize control type.
[4110] Fix | Delete
*
[4111] Fix | Delete
* Registered types are eligible to be rendered via JS and created dynamically.
[4112] Fix | Delete
*
[4113] Fix | Delete
* @since 4.1.0
[4114] Fix | Delete
*
[4115] Fix | Delete
* @param string $control Name of a custom control which is a subclass of
[4116] Fix | Delete
* WP_Customize_Control.
[4117] Fix | Delete
*/
[4118] Fix | Delete
public function register_control_type( $control ) {
[4119] Fix | Delete
$this->registered_control_types[] = $control;
[4120] Fix | Delete
}
[4121] Fix | Delete
[4122] Fix | Delete
/**
[4123] Fix | Delete
* Renders JS templates for all registered control types.
[4124] Fix | Delete
*
[4125] Fix | Delete
* @since 4.1.0
[4126] Fix | Delete
*/
[4127] Fix | Delete
public function render_control_templates() {
[4128] Fix | Delete
if ( $this->branching() ) {
[4129] Fix | Delete
$l10n = array(
[4130] Fix | Delete
/* translators: %s: User who is customizing the changeset in customizer. */
[4131] Fix | Delete
'locked' => __( '%s is already customizing this changeset. Please wait until they are done to try customizing. Your latest changes have been autosaved.' ),
[4132] Fix | Delete
/* translators: %s: User who is customizing the changeset in customizer. */
[4133] Fix | Delete
'locked_allow_override' => __( '%s is already customizing this changeset. Do you want to take over?' ),
[4134] Fix | Delete
);
[4135] Fix | Delete
} else {
[4136] Fix | Delete
$l10n = array(
[4137] Fix | Delete
/* translators: %s: User who is customizing the changeset in customizer. */
[4138] Fix | Delete
'locked' => __( '%s is already customizing this site. Please wait until they are done to try customizing. Your latest changes have been autosaved.' ),
[4139] Fix | Delete
/* translators: %s: User who is customizing the changeset in customizer. */
[4140] Fix | Delete
'locked_allow_override' => __( '%s is already customizing this site. Do you want to take over?' ),
[4141] Fix | Delete
);
[4142] Fix | Delete
}
[4143] Fix | Delete
[4144] Fix | Delete
foreach ( $this->registered_control_types as $control_type ) {
[4145] Fix | Delete
$control = new $control_type(
[4146] Fix | Delete
$this,
[4147] Fix | Delete
'temp',
[4148] Fix | Delete
array(
[4149] Fix | Delete
'settings' => array(),
[4150] Fix | Delete
)
[4151] Fix | Delete
);
[4152] Fix | Delete
$control->print_template();
[4153] Fix | Delete
}
[4154] Fix | Delete
?>
[4155] Fix | Delete
[4156] Fix | Delete
<script type="text/html" id="tmpl-customize-control-default-content">
[4157] Fix | Delete
<#
[4158] Fix | Delete
var inputId = _.uniqueId( 'customize-control-default-input-' );
[4159] Fix | Delete
var descriptionId = _.uniqueId( 'customize-control-default-description-' );
[4160] Fix | Delete
var describedByAttr = data.description ? ' aria-describedby="' + descriptionId + '" ' : '';
[4161] Fix | Delete
#>
[4162] Fix | Delete
<# switch ( data.type ) {
[4163] Fix | Delete
case 'checkbox': #>
[4164] Fix | Delete
<span class="customize-inside-control-row">
[4165] Fix | Delete
<input
[4166] Fix | Delete
id="{{ inputId }}"
[4167] Fix | Delete
{{{ describedByAttr }}}
[4168] Fix | Delete
type="checkbox"
[4169] Fix | Delete
value="{{ data.value }}"
[4170] Fix | Delete
data-customize-setting-key-link="default"
[4171] Fix | Delete
>
[4172] Fix | Delete
<label for="{{ inputId }}">
[4173] Fix | Delete
{{ data.label }}
[4174] Fix | Delete
</label>
[4175] Fix | Delete
<# if ( data.description ) { #>
[4176] Fix | Delete
<span id="{{ descriptionId }}" class="description customize-control-description">{{{ data.description }}}</span>
[4177] Fix | Delete
<# } #>
[4178] Fix | Delete
</span>
[4179] Fix | Delete
<#
[4180] Fix | Delete
break;
[4181] Fix | Delete
case 'radio':
[4182] Fix | Delete
if ( ! data.choices ) {
[4183] Fix | Delete
return;
[4184] Fix | Delete
}
[4185] Fix | Delete
#>
[4186] Fix | Delete
<# if ( data.label ) { #>
[4187] Fix | Delete
<label for="{{ inputId }}" class="customize-control-title">
[4188] Fix | Delete
{{ data.label }}
[4189] Fix | Delete
</label>
[4190] Fix | Delete
<# } #>
[4191] Fix | Delete
<# if ( data.description ) { #>
[4192] Fix | Delete
<span id="{{ descriptionId }}" class="description customize-control-description">{{{ data.description }}}</span>
[4193] Fix | Delete
<# } #>
[4194] Fix | Delete
<# _.each( data.choices, function( val, key ) { #>
[4195] Fix | Delete
<span class="customize-inside-control-row">
[4196] Fix | Delete
<#
[4197] Fix | Delete
var value, text;
[4198] Fix | Delete
if ( _.isObject( val ) ) {
[4199] Fix | Delete
value = val.value;
[4200] Fix | Delete
text = val.text;
[4201] Fix | Delete
} else {
[4202] Fix | Delete
value = key;
[4203] Fix | Delete
text = val;
[4204] Fix | Delete
}
[4205] Fix | Delete
#>
[4206] Fix | Delete
<input
[4207] Fix | Delete
id="{{ inputId + '-' + value }}"
[4208] Fix | Delete
type="radio"
[4209] Fix | Delete
value="{{ value }}"
[4210] Fix | Delete
name="{{ inputId }}"
[4211] Fix | Delete
data-customize-setting-key-link="default"
[4212] Fix | Delete
{{{ describedByAttr }}}
[4213] Fix | Delete
>
[4214] Fix | Delete
<label for="{{ inputId + '-' + value }}">{{ text }}</label>
[4215] Fix | Delete
</span>
[4216] Fix | Delete
<# } ); #>
[4217] Fix | Delete
<#
[4218] Fix | Delete
break;
[4219] Fix | Delete
default:
[4220] Fix | Delete
#>
[4221] Fix | Delete
<# if ( data.label ) { #>
[4222] Fix | Delete
<label for="{{ inputId }}" class="customize-control-title">
[4223] Fix | Delete
{{ data.label }}
[4224] Fix | Delete
</label>
[4225] Fix | Delete
<# } #>
[4226] Fix | Delete
<# if ( data.description ) { #>
[4227] Fix | Delete
<span id="{{ descriptionId }}" class="description customize-control-description">{{{ data.description }}}</span>
[4228] Fix | Delete
<# } #>
[4229] Fix | Delete
[4230] Fix | Delete
<#
[4231] Fix | Delete
var inputAttrs = {
[4232] Fix | Delete
id: inputId,
[4233] Fix | Delete
'data-customize-setting-key-link': 'default'
[4234] Fix | Delete
};
[4235] Fix | Delete
if ( 'textarea' === data.type ) {
[4236] Fix | Delete
inputAttrs.rows = '5';
[4237] Fix | Delete
} else if ( 'button' === data.type ) {
[4238] Fix | Delete
inputAttrs['class'] = 'button button-secondary';
[4239] Fix | Delete
inputAttrs.type = 'button';
[4240] Fix | Delete
} else {
[4241] Fix | Delete
inputAttrs.type = data.type;
[4242] Fix | Delete
}
[4243] Fix | Delete
if ( data.description ) {
[4244] Fix | Delete
inputAttrs['aria-describedby'] = descriptionId;
[4245] Fix | Delete
}
[4246] Fix | Delete
_.extend( inputAttrs, data.input_attrs );
[4247] Fix | Delete
#>
[4248] Fix | Delete
[4249] Fix | Delete
<# if ( 'button' === data.type ) { #>
[4250] Fix | Delete
<button
[4251] Fix | Delete
<# _.each( _.extend( inputAttrs ), function( value, key ) { #>
[4252] Fix | Delete
{{{ key }}}="{{ value }}"
[4253] Fix | Delete
<# } ); #>
[4254] Fix | Delete
>{{ inputAttrs.value }}</button>
[4255] Fix | Delete
<# } else if ( 'textarea' === data.type ) { #>
[4256] Fix | Delete
<textarea
[4257] Fix | Delete
<# _.each( _.extend( inputAttrs ), function( value, key ) { #>
[4258] Fix | Delete
{{{ key }}}="{{ value }}"
[4259] Fix | Delete
<# }); #>
[4260] Fix | Delete
>{{ inputAttrs.value }}</textarea>
[4261] Fix | Delete
<# } else if ( 'select' === data.type ) { #>
[4262] Fix | Delete
<# delete inputAttrs.type; #>
[4263] Fix | Delete
<select
[4264] Fix | Delete
<# _.each( _.extend( inputAttrs ), function( value, key ) { #>
[4265] Fix | Delete
{{{ key }}}="{{ value }}"
[4266] Fix | Delete
<# }); #>
[4267] Fix | Delete
>
[4268] Fix | Delete
<# _.each( data.choices, function( val, key ) { #>
[4269] Fix | Delete
<#
[4270] Fix | Delete
var value, text;
[4271] Fix | Delete
if ( _.isObject( val ) ) {
[4272] Fix | Delete
value = val.value;
[4273] Fix | Delete
text = val.text;
[4274] Fix | Delete
} else {
[4275] Fix | Delete
value = key;
[4276] Fix | Delete
text = val;
[4277] Fix | Delete
}
[4278] Fix | Delete
#>
[4279] Fix | Delete
<option value="{{ value }}">{{ text }}</option>
[4280] Fix | Delete
<# } ); #>
[4281] Fix | Delete
</select>
[4282] Fix | Delete
<# } else { #>
[4283] Fix | Delete
<input
[4284] Fix | Delete
<# _.each( _.extend( inputAttrs ), function( value, key ) { #>
[4285] Fix | Delete
{{{ key }}}="{{ value }}"
[4286] Fix | Delete
<# }); #>
[4287] Fix | Delete
>
[4288] Fix | Delete
<# } #>
[4289] Fix | Delete
<# } #>
[4290] Fix | Delete
</script>
[4291] Fix | Delete
[4292] Fix | Delete
<script type="text/html" id="tmpl-customize-notification">
[4293] Fix | Delete
<li class="notice notice-{{ data.type || 'info' }} {{ data.alt ? 'notice-alt' : '' }} {{ data.dismissible ? 'is-dismissible' : '' }} {{ data.containerClasses || '' }}" data-code="{{ data.code }}" data-type="{{ data.type }}">
[4294] Fix | Delete
<div class="notification-message">{{{ data.message || data.code }}}</div>
[4295] Fix | Delete
<# if ( data.dismissible ) { #>
[4296] Fix | Delete
<button type="button" class="notice-dismiss"><span class="screen-reader-text">
[4297] Fix | Delete
<?php
[4298] Fix | Delete
/* translators: Hidden accessibility text. */
[4299] Fix | Delete
_e( 'Dismiss' );
[4300] Fix | Delete
?>
[4301] Fix | Delete
</span></button>
[4302] Fix | Delete
<# } #>
[4303] Fix | Delete
</li>
[4304] Fix | Delete
</script>
[4305] Fix | Delete
[4306] Fix | Delete
<script type="text/html" id="tmpl-customize-changeset-locked-notification">
[4307] Fix | Delete
<li class="notice notice-{{ data.type || 'info' }} {{ data.containerClasses || '' }}" data-code="{{ data.code }}" data-type="{{ data.type }}">
[4308] Fix | Delete
<div class="notification-message customize-changeset-locked-message">
[4309] Fix | Delete
<img class="customize-changeset-locked-avatar" src="{{ data.lockUser.avatar }}" alt="{{ data.lockUser.name }}" />
[4310] Fix | Delete
<p class="currently-editing">
[4311] Fix | Delete
<# if ( data.message ) { #>
[4312] Fix | Delete
{{{ data.message }}}
[4313] Fix | Delete
<# } else if ( data.allowOverride ) { #>
[4314] Fix | Delete
<?php
[4315] Fix | Delete
echo esc_html( sprintf( $l10n['locked_allow_override'], '{{ data.lockUser.name }}' ) );
[4316] Fix | Delete
?>
[4317] Fix | Delete
<# } else { #>
[4318] Fix | Delete
<?php
[4319] Fix | Delete
echo esc_html( sprintf( $l10n['locked'], '{{ data.lockUser.name }}' ) );
[4320] Fix | Delete
?>
[4321] Fix | Delete
<# } #>
[4322] Fix | Delete
</p>
[4323] Fix | Delete
<p class="notice notice-error notice-alt" hidden></p>
[4324] Fix | Delete
<p class="action-buttons">
[4325] Fix | Delete
<# if ( data.returnUrl !== data.previewUrl ) { #>
[4326] Fix | Delete
<a class="button customize-notice-go-back-button" href="{{ data.returnUrl }}"><?php _e( 'Go back' ); ?></a>
[4327] Fix | Delete
<# } #>
[4328] Fix | Delete
<a class="button customize-notice-preview-button" href="{{ data.frontendPreviewUrl }}"><?php _e( 'Preview' ); ?></a>
[4329] Fix | Delete
<# if ( data.allowOverride ) { #>
[4330] Fix | Delete
<button class="button button-primary wp-tab-last customize-notice-take-over-button"><?php _e( 'Take over' ); ?></button>
[4331] Fix | Delete
<# } #>
[4332] Fix | Delete
</p>
[4333] Fix | Delete
</div>
[4334] Fix | Delete
</li>
[4335] Fix | Delete
</script>
[4336] Fix | Delete
[4337] Fix | Delete
<script type="text/html" id="tmpl-customize-code-editor-lint-error-notification">
[4338] Fix | Delete
<li class="notice notice-{{ data.type || 'info' }} {{ data.alt ? 'notice-alt' : '' }} {{ data.dismissible ? 'is-dismissible' : '' }} {{ data.containerClasses || '' }}" data-code="{{ data.code }}" data-type="{{ data.type }}">
[4339] Fix | Delete
<div class="notification-message">{{{ data.message || data.code }}}</div>
[4340] Fix | Delete
[4341] Fix | Delete
<p>
[4342] Fix | Delete
<# var elementId = 'el-' + String( Math.random() ); #>
[4343] Fix | Delete
<input id="{{ elementId }}" type="checkbox">
[4344] Fix | Delete
<label for="{{ elementId }}"><?php _e( 'Update anyway, even though it might break your site?' ); ?></label>
[4345] Fix | Delete
</p>
[4346] Fix | Delete
</li>
[4347] Fix | Delete
</script>
[4348] Fix | Delete
[4349] Fix | Delete
<?php
[4350] Fix | Delete
/* The following template is obsolete in core but retained for plugins. */
[4351] Fix | Delete
?>
[4352] Fix | Delete
<script type="text/html" id="tmpl-customize-control-notifications">
[4353] Fix | Delete
<ul>
[4354] Fix | Delete
<# _.each( data.notifications, function( notification ) { #>
[4355] Fix | Delete
<li class="notice notice-{{ notification.type || 'info' }} {{ data.altNotice ? 'notice-alt' : '' }}" data-code="{{ notification.code }}" data-type="{{ notification.type }}">{{{ notification.message || notification.code }}}</li>
[4356] Fix | Delete
<# } ); #>
[4357] Fix | Delete
</ul>
[4358] Fix | Delete
</script>
[4359] Fix | Delete
[4360] Fix | Delete
<script type="text/html" id="tmpl-customize-preview-link-control" >
[4361] Fix | Delete
<# var elementPrefix = _.uniqueId( 'el' ) + '-' #>
[4362] Fix | Delete
<p class="customize-control-title">
[4363] Fix | Delete
<?php esc_html_e( 'Share Preview Link' ); ?>
[4364] Fix | Delete
</p>
[4365] Fix | Delete
<p class="description customize-control-description"><?php esc_html_e( 'See how changes would look live on your website, and share the preview with people who can\'t access the Customizer.' ); ?></p>
[4366] Fix | Delete
<div class="customize-control-notifications-container"></div>
[4367] Fix | Delete
<div class="preview-link-wrapper">
[4368] Fix | Delete
<label for="{{ elementPrefix }}customize-preview-link-input" class="screen-reader-text">
[4369] Fix | Delete
<?php
[4370] Fix | Delete
/* translators: Hidden accessibility text. */
[4371] Fix | Delete
esc_html_e( 'Preview Link' );
[4372] Fix | Delete
?>
[4373] Fix | Delete
</label>
[4374] Fix | Delete
<a href="" target="">
[4375] Fix | Delete
<span class="preview-control-element" data-component="url"></span>
[4376] Fix | Delete
<span class="screen-reader-text">
[4377] Fix | Delete
<?php
[4378] Fix | Delete
/* translators: Hidden accessibility text. */
[4379] Fix | Delete
_e( '(opens in a new tab)' );
[4380] Fix | Delete
?>
[4381] Fix | Delete
</span>
[4382] Fix | Delete
</a>
[4383] Fix | Delete
<input id="{{ elementPrefix }}customize-preview-link-input" readonly tabindex="-1" class="preview-control-element" data-component="input">
[4384] Fix | Delete
<button class="customize-copy-preview-link preview-control-element button button-secondary" data-component="button" data-copy-text="<?php esc_attr_e( 'Copy' ); ?>" data-copied-text="<?php esc_attr_e( 'Copied' ); ?>" ><?php esc_html_e( 'Copy' ); ?></button>
[4385] Fix | Delete
</div>
[4386] Fix | Delete
</script>
[4387] Fix | Delete
<script type="text/html" id="tmpl-customize-selected-changeset-status-control">
[4388] Fix | Delete
<# var inputId = _.uniqueId( 'customize-selected-changeset-status-control-input-' ); #>
[4389] Fix | Delete
<# var descriptionId = _.uniqueId( 'customize-selected-changeset-status-control-description-' ); #>
[4390] Fix | Delete
<# if ( data.label ) { #>
[4391] Fix | Delete
<label for="{{ inputId }}" class="customize-control-title">{{ data.label }}</label>
[4392] Fix | Delete
<# } #>
[4393] Fix | Delete
<# if ( data.description ) { #>
[4394] Fix | Delete
<span id="{{ descriptionId }}" class="description customize-control-description">{{{ data.description }}}</span>
[4395] Fix | Delete
<# } #>
[4396] Fix | Delete
<# _.each( data.choices, function( choice ) { #>
[4397] Fix | Delete
<# var choiceId = inputId + '-' + choice.status; #>
[4398] Fix | Delete
<span class="customize-inside-control-row">
[4399] Fix | Delete
<input id="{{ choiceId }}" type="radio" value="{{ choice.status }}" name="{{ inputId }}" data-customize-setting-key-link="default">
[4400] Fix | Delete
<label for="{{ choiceId }}">{{ choice.label }}</label>
[4401] Fix | Delete
</span>
[4402] Fix | Delete
<# } ); #>
[4403] Fix | Delete
</script>
[4404] Fix | Delete
<?php
[4405] Fix | Delete
}
[4406] Fix | Delete
[4407] Fix | Delete
/**
[4408] Fix | Delete
* Helper function to compare two objects by priority, ensuring sort stability via instance_number.
[4409] Fix | Delete
*
[4410] Fix | Delete
* @since 3.4.0
[4411] Fix | Delete
* @deprecated 4.7.0 Use wp_list_sort()
[4412] Fix | Delete
*
[4413] Fix | Delete
* @param WP_Customize_Panel|WP_Customize_Section|WP_Customize_Control $a Object A.
[4414] Fix | Delete
* @param WP_Customize_Panel|WP_Customize_Section|WP_Customize_Control $b Object B.
[4415] Fix | Delete
* @return int
[4416] Fix | Delete
*/
[4417] Fix | Delete
protected function _cmp_priority( $a, $b ) {
[4418] Fix | Delete
_deprecated_function( __METHOD__, '4.7.0', 'wp_list_sort' );
[4419] Fix | Delete
[4420] Fix | Delete
if ( $a->priority === $b->priority ) {
[4421] Fix | Delete
return $a->instance_number - $b->instance_number;
[4422] Fix | Delete
} else {
[4423] Fix | Delete
return $a->priority - $b->priority;
[4424] Fix | Delete
}
[4425] Fix | Delete
}
[4426] Fix | Delete
[4427] Fix | Delete
/**
[4428] Fix | Delete
* Prepares panels, sections, and controls.
[4429] Fix | Delete
*
[4430] Fix | Delete
* For each, check if required related components exist,
[4431] Fix | Delete
* whether the user has the necessary capabilities,
[4432] Fix | Delete
* and sort by priority.
[4433] Fix | Delete
*
[4434] Fix | Delete
* @since 3.4.0
[4435] Fix | Delete
*/
[4436] Fix | Delete
public function prepare_controls() {
[4437] Fix | Delete
[4438] Fix | Delete
$controls = array();
[4439] Fix | Delete
$this->controls = wp_list_sort(
[4440] Fix | Delete
$this->controls,
[4441] Fix | Delete
array(
[4442] Fix | Delete
'priority' => 'ASC',
[4443] Fix | Delete
'instance_number' => 'ASC',
[4444] Fix | Delete
),
[4445] Fix | Delete
'ASC',
[4446] Fix | Delete
true
[4447] Fix | Delete
);
[4448] Fix | Delete
[4449] Fix | Delete
foreach ( $this->controls as $id => $control ) {
[4450] Fix | Delete
if ( ! isset( $this->sections[ $control->section ] ) || ! $control->check_capabilities() ) {
[4451] Fix | Delete
continue;
[4452] Fix | Delete
}
[4453] Fix | Delete
[4454] Fix | Delete
$this->sections[ $control->section ]->controls[] = $control;
[4455] Fix | Delete
$controls[ $id ] = $control;
[4456] Fix | Delete
}
[4457] Fix | Delete
$this->controls = $controls;
[4458] Fix | Delete
[4459] Fix | Delete
// Prepare sections.
[4460] Fix | Delete
$this->sections = wp_list_sort(
[4461] Fix | Delete
$this->sections,
[4462] Fix | Delete
array(
[4463] Fix | Delete
'priority' => 'ASC',
[4464] Fix | Delete
'instance_number' => 'ASC',
[4465] Fix | Delete
),
[4466] Fix | Delete
'ASC',
[4467] Fix | Delete
true
[4468] Fix | Delete
);
[4469] Fix | Delete
$sections = array();
[4470] Fix | Delete
[4471] Fix | Delete
foreach ( $this->sections as $section ) {
[4472] Fix | Delete
if ( ! $section->check_capabilities() ) {
[4473] Fix | Delete
continue;
[4474] Fix | Delete
}
[4475] Fix | Delete
[4476] Fix | Delete
$section->controls = wp_list_sort(
[4477] Fix | Delete
$section->controls,
[4478] Fix | Delete
array(
[4479] Fix | Delete
'priority' => 'ASC',
[4480] Fix | Delete
'instance_number' => 'ASC',
[4481] Fix | Delete
)
[4482] Fix | Delete
);
[4483] Fix | Delete
[4484] Fix | Delete
if ( ! $section->panel ) {
[4485] Fix | Delete
// Top-level section.
[4486] Fix | Delete
$sections[ $section->id ] = $section;
[4487] Fix | Delete
} else {
[4488] Fix | Delete
// This section belongs to a panel.
[4489] Fix | Delete
if ( isset( $this->panels [ $section->panel ] ) ) {
[4490] Fix | Delete
$this->panels[ $section->panel ]->sections[ $section->id ] = $section;
[4491] Fix | Delete
}
[4492] Fix | Delete
}
[4493] Fix | Delete
}
[4494] Fix | Delete
$this->sections = $sections;
[4495] Fix | Delete
[4496] Fix | Delete
// Prepare panels.
[4497] Fix | Delete
$this->panels = wp_list_sort(
[4498] Fix | Delete
$this->panels,
[4499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function