File "Widget.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/the-events-calendar/src/Tribe/Customizer/Widget.php
File size: 4.1 KB
MIME-type: text/x-php
Charset: utf-8
<?php
// Don't load directly.
if ( ! defined( 'ABSPATH' ) ) {
die( '-1' );
}
/**
* The Events Calendar Customizer Section Class
* Widgets
*
* @package The Events Calendar
* @subpackage Customizer
* @since 4.4
*/
final class Tribe__Events__Customizer__Widget extends Tribe__Customizer__Section {
/**
* PHP 5.2 method of creating "instances" of an abstract require this
*
* Note: This is the only required method for a Connector to work
*
* @return self The dynamic instance of this Class
*/
public static function instance() {
return tribe( 'tec.customizer.widget' );
}
/**
* Grab the CSS rules template
*
* @return string
*/
public function get_css_template( $template ) {
// Sanity check.
if ( tribe_events_views_v2_is_enabled() ) {
return $template;
}
$customizer = tribe( 'customizer' );
if ( ! $customizer->get_option( [ 'widget', 'featured_show_images' ] ) ) {
$template .= '
.tribe-events-list-widget .tribe-event-featured .tribe-event-image,
.tribe-events-venue-widget .tribe-event-featured .tribe-event-image,
.tribe-events-adv-list-widget .tribe-event-featured .tribe-event-image,
.tribe-mini-calendar-list-wrapper .tribe-event-featured .tribe-event-image {
display: none;
}
';
}
return $template;
}
public function setup() {
$this->defaults = [
'calendar_header_color' => '#999',
'calendar_datebar_color' => '#e0e0e0',
'featured_show_images' => true,
];
$this->arguments = [
'priority' => 70,
'capability' => 'edit_theme_options',
'title' => esc_html__( 'Widgets', 'the-events-calendar' ),
'description' => esc_html__( 'Options selected here will override what was selected in the "General Theme" and "Global Elements" sections.', 'the-events-calendar' ),
];
}
/**
* Create the Fields/Settings for this sections
*
* @param WP_Customize_Section $section The WordPress section instance
* @param WP_Customize_Manager $manager [description]
*
* @return void
*/
public function register_settings( WP_Customize_Section $section, WP_Customize_Manager $manager ) {
$customizer = tribe( 'customizer' );
$manager->add_setting(
$customizer->get_setting_name( 'calendar_header_color', $section ),
[
'default' => $this->get_default( 'calendar_header_color' ),
'type' => 'option',
'sanitize_callback' => 'sanitize_hex_color',
'sanitize_js_callback' => 'maybe_hash_hex_color',
]
);
$manager->add_control(
new WP_Customize_Color_Control(
$manager,
$customizer->get_setting_name( 'calendar_header_color', $section ),
[
'label' => __( 'Calendar Header Color', 'the-events-calendar' ),
'section' => $section->id,
]
)
);
$manager->add_setting(
$customizer->get_setting_name( 'calendar_datebar_color', $section ),
[
'default' => $this->get_default( 'calendar_datebar_color' ),
'type' => 'option',
'sanitize_callback' => 'sanitize_hex_color',
'sanitize_js_callback' => 'maybe_hash_hex_color',
]
);
$manager->add_control(
new WP_Customize_Color_Control(
$manager,
$customizer->get_setting_name( 'calendar_datebar_color', $section ),
[
'label' => __( 'Calendar Date Bar Color', 'the-events-calendar' ),
'section' => $section->id,
]
)
);
$manager->add_setting(
$customizer->get_setting_name( 'featured_show_images', $section ),
[
'default' => $this->get_default( 'featured_show_images' ),
'type' => 'option',
]
);
$manager->add_control(
new WP_Customize_Control(
$manager,
$customizer->get_setting_name( 'featured_show_images', $section ),
[
'label' => __( 'Show Featured Event Images' ),
'section' => $section->id,
'type' => 'checkbox',
]
)
);
// Introduced to make Selective Refresh have less code duplication
$customizer->add_setting_name( $customizer->get_setting_name( 'calendar_header_color', $section ) );
$customizer->add_setting_name( $customizer->get_setting_name( 'calendar_datebar_color', $section ) );
$customizer->add_setting_name( $customizer->get_setting_name( 'featured_show_images', $section ) );
}
}