'fourelse_events_connector_sanitize_options', 'default' => array( 'eventeas_code' => '', 'fallback_text' => __('Currently no events are available.', '4else-events-event-teaser-booking-connector'), ), ) ); add_settings_section( 'fourelse_events_connector_main', __('4else EvenTeas connection', '4else-events-event-teaser-booking-connector'), 'fourelse_events_connector_section_intro', 'fourelse-events-connector' ); add_settings_field( 'eventeas_code', __('EvenTeas code', '4else-events-event-teaser-booking-connector'), 'fourelse_events_connector_code_field', 'fourelse-events-connector', 'fourelse_events_connector_main' ); add_settings_field( 'fallback_text', __('Fallback text', '4else-events-event-teaser-booking-connector'), 'fourelse_events_connector_fallback_field', 'fourelse-events-connector', 'fourelse_events_connector_main' ); } function fourelse_events_connector_sanitize_options($input) { $output = array(); if (isset($input['eventeas_code'])) { $raw_code = wp_unslash($input['eventeas_code']); /* * The EvenTeas embed code intentionally contains HTML and JavaScript. * Only administrators with the manage_options capability can save this option. */ $allowed_html = array( 'div' => array( 'id' => true, 'class' => true, 'style' => true, 'data-*' => true, ), 'iframe' => array( 'src' => true, 'width' => true, 'height' => true, 'style' => true, 'frameborder' => true, 'allowfullscreen' => true, 'loading' => true, ), 'script' => array( 'src' => true, 'type' => true, 'async' => true, 'defer' => true, ), 'a' => array( 'href' => true, 'target' => true, 'rel' => true, 'class' => true, ), ); $output['eventeas_code'] = wp_kses(trim($raw_code), $allowed_html); } if (isset($input['fallback_text'])) { $output['fallback_text'] = sanitize_text_field(wp_unslash($input['fallback_text'])); } return $output; } function fourelse_events_connector_section_intro() { echo '
' . esc_html__('Paste your individual 4else EvenTeas code here. Afterwards you can display your event calendar with the shortcode [fourelse_events].', '4else-events-event-teaser-booking-connector') . '
'; } function fourelse_events_connector_code_field() { $options = get_option(FOURELSE_EVENTS_CONNECTOR_OPTION); $value = isset($options['eventeas_code']) ? $options['eventeas_code'] : ''; echo ''; echo '' . esc_html__('You can find this code in your 4else account under Manage → Own homepage.', '4else-events-event-teaser-booking-connector') . '
'; } function fourelse_events_connector_fallback_field() { $options = get_option(FOURELSE_EVENTS_CONNECTOR_OPTION); $value = isset($options['fallback_text']) ? $options['fallback_text'] : __('Currently no events are available.', '4else-events-event-teaser-booking-connector'); echo ''; echo '' . esc_html__('This text is shown if no EvenTeas code has been saved yet.', '4else-events-event-teaser-booking-connector') . '
'; } function fourelse_events_connector_settings_page() { if (!current_user_can('manage_options')) { return; } ?>
[fourelse_events]