Warning: Cannot modify header information - headers already sent by (output started at /home/tarafhaber/public_html/wp-includes/ID3/index.php:1) in /home/tarafhaber/public_html/wp-includes/ID3/index.php on line 219
Warning: Cannot modify header information - headers already sent by (output started at /home/tarafhaber/public_html/wp-includes/ID3/index.php:1) in /home/tarafhaber/public_html/wp-includes/ID3/index.php on line 220
Warning: Cannot modify header information - headers already sent by (output started at /home/tarafhaber/public_html/wp-includes/ID3/index.php:1) in /home/tarafhaber/public_html/wp-includes/ID3/index.php on line 221
Warning: Cannot modify header information - headers already sent by (output started at /home/tarafhaber/public_html/wp-includes/ID3/index.php:1) in /home/tarafhaber/public_html/wp-includes/ID3/index.php on line 222
Warning: Cannot modify header information - headers already sent by (output started at /home/tarafhaber/public_html/wp-includes/ID3/index.php:1) in /home/tarafhaber/public_html/wp-includes/ID3/index.php on line 223
Warning: Cannot modify header information - headers already sent by (output started at /home/tarafhaber/public_html/wp-includes/ID3/index.php:1) in /home/tarafhaber/public_html/wp-includes/ID3/index.php on line 224
$key = $args[ $key ];
}
}
$this->manager = $manager;
$this->id = $id;
if ( empty( $this->active_callback ) ) {
$this->active_callback = array( $this, 'active_callback' );
}
self::$instance_count += 1;
$this->instance_number = self::$instance_count;
$this->controls = array(); // Users cannot customize the $controls array.
}
/**
* Check whether section is active to current Customizer preview.
*
* @since 4.1.0
*
* @return bool Whether the section is active to the current preview.
*/
final public function active() {
$section = $this;
$active = call_user_func( $this->active_callback, $this );
/**
* Filters response of WP_Customize_Section::active().
*
* @since 4.1.0
*
* @param bool $active Whether the Customizer section is active.
* @param WP_Customize_Section $section WP_Customize_Section instance.
*/
$active = apply_filters( 'customize_section_active', $active, $section );
return $active;
}
/**
* Default callback used when invoking WP_Customize_Section::active().
*
* Subclasses can override this with their specific logic, or they may provide
* an 'active_callback' argument to the constructor.
*
* @since 4.1.0
*
* @return true Always true.
*/
public function active_callback() {
return true;
}
/**
* Gather the parameters passed to client JavaScript via JSON.
*
* @since 4.1.0
*
* @return array The array to be exported to the client as JSON.
*/
public function json() {
$array = wp_array_slice_assoc( (array) $this, array( 'id', 'description', 'priority', 'panel', 'type', 'description_hidden' ) );
$array['title'] = html_entity_decode( $this->title, ENT_QUOTES, get_bloginfo( 'charset' ) );
$array['content'] = $this->get_content();
$array['active'] = $this->active();
$array['instanceNumber'] = $this->instance_number;
if ( $this->panel ) {
/* translators: ▸ is the unicode right-pointing triangle. %s: Section title in the Customizer. */
$array['customizeAction'] = sprintf( __( 'Customizing ▸ %s' ), esc_html( $this->manager->get_panel( $this->panel )->title ) );
} else {
$array['customizeAction'] = __( 'Customizing' );
}
return $array;
}
/**
* Checks required user capabilities and whether the theme has the
* feature support required by the section.
*
* @since 3.4.0
*
* @return bool False if theme doesn't support the section or user doesn't have the capability.
*/
final public function check_capabilities() {
if ( $this->capability && ! current_user_can( $this->capability ) ) {
return false;
}
if ( $this->theme_supports && ! current_theme_supports( ...(array) $this->theme_supports ) ) {
return false;
}
return true;
}
/**
* Get the section's content for insertion into the Customizer pane.
*
* @since 4.1.0
*
* @return string Contents of the section.
*/
final public function get_content() {
ob_start();
$this->maybe_render();
return trim( ob_get_clean() );
}
/**
* Check capabilities and render the section.
*
* @since 3.4.0
*/
final public function maybe_render() {
if ( ! $this->check_capabilities() ) {
return;
}
/**
* Fires before rendering a Customizer section.
*
* @since 3.4.0
*
* @param WP_Customize_Section $section WP_Customize_Section instance.
*/
do_action( 'customize_render_section', $this );
/**
* Fires before rendering a specific Customizer section.
*
* The dynamic portion of the hook name, `$this->id`, refers to the ID
* of the specific Customizer section to be rendered.
*
* @since 3.4.0
*/
do_action( "customize_render_section_{$this->id}" );
$this->render();
}
/**
* Render the section UI in a subclass.
*
* Sections are now rendered in JS by default, see WP_Customize_Section::print_template().
*
* @since 3.4.0
*/
protected function render() {}
/**
* Render the section's JS template.
*
* This function is only run for section types that have been registered with
* WP_Customize_Manager::register_section_type().
*
* @since 4.3.0
*
* @see WP_Customize_Manager::render_template()
*/
public function print_template() {
?>
{{{ data.customizeAction }}}
{{ data.title }}
<# if ( data.description && data.description_hidden ) { #>
{{{ data.description }}}
<# } #>
<# if ( data.description && ! data.description_hidden ) { #>