コード例 #1
0
 public function settings_init()
 {
     register_setting('btb-settings-general', 'btb_general_contact_page');
     register_setting('btb-settings-general', 'btb_currency', 'sanitize_text_field');
     register_setting('btb-settings-general', 'btb_currency_code', 'sanitize_text_field');
     register_setting('btb-settings-general', 'btb_instance_type');
     register_setting('btb-settings-general', 'btb_master_url', 'sanitize_text_field');
     register_setting('btb-settings-general', 'btb_app_user', 'sanitize_text_field');
     register_setting('btb-settings-general', 'btb_app_secret', 'sanitize_text_field');
     register_setting('btb-settings-checkout', 'btb_terms_page');
     register_setting('btb-settings-checkout', 'btb_contact_page');
     register_setting('btb-settings-checkout', 'btb_checkout_page');
     register_setting('btb-settings-checkout', 'btb_checkout_header', 'sanitize_text_field');
     register_setting('btb-settings-checkout', 'btb_checkout_book_now_text', 'sanitize_text_field');
     register_setting('btb-settings-checkout', 'btb_checkout_info');
     register_setting('btb-settings-checkout', 'btb_checkout_require_terms');
     register_setting('btb-settings-checkout', 'btb_checkout_require_text');
     register_setting('btb-settings-email', 'btb_confirm_from', 'sanitize_email');
     register_setting('btb-settings-email', 'btb_confirm_subject');
     register_setting('btb-settings-email', 'btb_confirm_template');
     register_setting('btb-settings-email', 'btb_confirm_html');
     register_setting('btb-settings-email', 'btb_notify_to', 'sanitize_email');
     register_setting('btb-settings-email', 'btb_notify_subject');
     register_setting('btb-settings-email', 'btb_notify_template');
     register_setting('btb-settings-email', 'btb_notify_html');
     register_setting('btb-settings-style', 'btb_style');
     register_setting('btb-settings-style', 'btb_custom_style');
     register_setting('btb-settings-style', 'btb_clearfix_tag', 'sanitize_text_field');
     register_setting('btb-settings-structdata', 'btb_struct_data_enabled');
     register_setting('btb-settings-structdata', 'btb_struct_data_default_type');
     register_setting('btb-settings-structdata', 'btb_struct_data_event_type');
     register_setting('btb-settings-structdata', 'btb_struct_data_orga_info_page');
     register_setting('btb-settings-structdata', 'btb_struct_data_src_desc');
     register_setting('btb-settings-structdata', 'btb_struct_data_eligible_regions');
     register_setting('btb-settings-structdata', 'btb_struct_data_orga_type');
     register_setting('btb-settings-structdata', 'btb_struct_data_organization', 'sanitize_text_field');
     register_setting('btb-settings-structdata', 'btb_struct_data_description', 'sanitize_text_field');
     register_setting('btb-settings-structdata', 'btb_struct_data_orga_url', 'esc_url_raw');
     register_setting('btb-settings-structdata', 'btb_struct_data_isicv4');
     register_setting('btb-settings-structdata', 'btb_struct_data_pobox', 'sanitize_text_field');
     register_setting('btb-settings-structdata', 'btb_struct_data_street', 'sanitize_text_field');
     register_setting('btb-settings-structdata', 'btb_struct_data_postalcode', 'sanitize_text_field');
     register_setting('btb-settings-structdata', 'btb_struct_data_city', 'sanitize_text_field');
     register_setting('btb-settings-structdata', 'btb_struct_data_region', 'sanitize_text_field');
     register_setting('btb-settings-structdata', 'btb_struct_data_country');
     register_setting('btb-settings-structdata', 'btb_struct_data_email', 'sanitize_email');
     register_setting('btb-settings-structdata', 'btb_struct_data_phone', 'sanitize_text_field');
     register_setting('btb-settings-structdata', 'btb_struct_data_fax', 'sanitize_text_field');
     register_setting('btb-settings-structdata', 'btb_struct_data_facebook', 'sanitize_text_field');
     register_setting('btb-settings-structdata', 'btb_struct_data_instagram', 'sanitize_text_field');
     register_setting('btb-settings-structdata', 'btb_struct_data_twitter', 'sanitize_text_field');
     register_setting('btb-settings-structdata', 'btb_struct_data_googleplus', 'sanitize_text_field');
     register_setting('btb-settings-shortcode', 'btb_shortcode_headline', 'sanitize_text_field');
     register_setting('btb-settings-shortcode', 'btb_shortcode_buttontext', 'sanitize_text_field');
     register_setting('btb-settings-shortcode', 'btb_shortcode_buttonclass', 'sanitize_text_field');
     register_setting('btb-settings-shortcode', 'btb_shortcode_timeselectortext', 'sanitize_text_field');
     register_setting('btb-settings-shortcode', 'btb_shortcode_timeselectorclass', 'sanitize_text_field');
     register_setting('btb-settings-shortcode', 'btb_shortcode_timeselectorlayout');
     register_setting('btb-settings-shortcode', 'btb_shortcode_amount_label', 'sanitize_text_field');
     register_setting('btb-settings-shortcode', 'btb_shortcode_amount_class', 'sanitize_text_field');
     register_setting('btb-settings-shortcode', 'btb_shortcode_amount_surrounding', 'sanitize_text_field');
     register_setting('btb-settings-shortcode', 'btb_shortcode_ind_req_label', 'sanitize_text_field');
     register_setting('btb-settings-shortcode', 'btb_shortcode_force_ind_req');
     // Start general section
     add_settings_section('btb-settings-general', esc_html__('General', 'bt-booking'), array($this, 'print_section_general_info'), 'btb-settings-general');
     add_settings_field('btb_general_instance_type', esc_html__('Instance type', 'bt-booking'), array($this, 'settings_generic_select'), 'btb-settings-general', 'btb-settings-general', array('id' => 'btb_instance_type', 'default' => 'master', 'description' => esc_html__('The type of this BTBooking instance.', 'bt-booking'), 'multiple' => false, 'options' => array('master' => esc_html__('Master', 'bt-booking'), 'slave' => esc_html__('Slave', 'bt-booking'))));
     add_settings_field('btb_general_master_url', esc_html__('Master URL', 'bt-booking'), array($this, 'settings_input_url'), 'btb-settings-general', 'btb-settings-general', array('id' => 'btb_master_url', 'default' => '', 'description' => esc_html__('The URL of the master instance.', 'bt-booking')));
     add_settings_field('btb_general_app_user', esc_html__('App user', 'bt-booking'), array($this, 'settings_input_text'), 'btb-settings-general', 'btb-settings-general', array('id' => 'btb_app_user', 'default' => '', 'description' => esc_html__('User name used to authenticate the slave against the master.', 'bt-booking')));
     add_settings_field('btb_general_app_secret', esc_html__('App secret', 'bt-booking'), array($this, 'settings_input_text'), 'btb-settings-general', 'btb-settings-general', array('id' => 'btb_app_secret', 'default' => '', 'description' => esc_html__('Passphrase used to authenticate the slave against the master.', 'bt-booking')));
     add_settings_field('btb_general_contact_page', esc_html__('Contact page', 'bt-booking'), array($this, 'settings_page_select'), 'btb-settings-general', 'btb-settings-general', array('id' => 'btb_general_contact_page', 'default' => '', 'description' => esc_html__('Select a page with a generic contact formular where customers can contact you in case of issues during the booking process', 'bt-booking')));
     add_settings_section('btb-settings-currency', esc_html__('Currency', 'bt-booking'), array($this, 'print_section_currency_info'), 'btb-settings-general');
     add_settings_field('btb_currency', esc_html__('Currency symbol', 'bt-booking'), array($this, 'settings_input_text'), 'btb-settings-general', 'btb-settings-currency', array('id' => 'btb_currency', 'default' => '€', 'description' => esc_html__('Enter the name or symbol of your currency. This is used for displaying prices.', 'bt-booking')));
     add_settings_field('btb_currency_code', esc_html__('Currency code', 'bt-booking'), array($this, 'settings_input_text'), 'btb-settings-general', 'btb-settings-currency', array('id' => 'btb_currency_code', 'default' => 'EUR', 'description' => wp_kses(__('Enter the <a href="https://en.wikipedia.org/wiki/ISO_4217">ISO 4217</a> three-letter currency code. This is used mainly for structured data.', 'bt-booking'), array('a' => array('href' => array())))));
     // End general section
     // Start checkout section
     add_settings_section('btb-settings-checkout', esc_html__('Checkout', 'bt-booking'), array($this, 'print_section_checkout_info'), 'btb-settings-checkout');
     add_settings_field('btb_checkout_page', esc_html__('Checkout page', 'bt-booking'), array($this, 'checkout_page_callback'), 'btb-settings-checkout', 'btb-settings-checkout');
     add_settings_field('btb_contact_page', esc_html__('Contact page', 'bt-booking'), array($this, 'contact_page_cb'), 'btb-settings-checkout', 'btb-settings-checkout');
     add_settings_field('btb_checkout_header', esc_html__('Checkout header', 'bt-booking'), array($this, 'checkout_header_callback'), 'btb-settings-checkout', 'btb-settings-checkout');
     add_settings_field('btb_checkout_book_now_text', esc_html__('Book now button', 'bt-booking'), array($this, 'book_now_text_callback'), 'btb-settings-checkout', 'btb-settings-checkout');
     add_settings_field('btb_checkout_info', esc_html__('Info text', 'bt-booking'), array($this, 'checkout_info_callback'), 'btb-settings-checkout', 'btb-settings-checkout');
     add_settings_field('btb_terms_page', esc_html__('Terms and conditions', 'bt-booking'), array($this, 'terms_page_callback'), 'btb-settings-checkout', 'btb-settings-checkout');
     add_settings_field('btb_checkout_require_terms', esc_html__('Require terms accepted', 'bt-booking'), array($this, 'require_terms_callback'), 'btb-settings-checkout', 'btb-settings-checkout');
     add_settings_field('btb_checkout_require_text', esc_html__('Require terms text', 'bt-booking'), array($this, 'require_text_callback'), 'btb-settings-checkout', 'btb-settings-checkout');
     // End Checkout seciton
     // Start confirmation email section
     add_settings_section('btb-settings-confirm-email', esc_html__('Confirmation E-mail', 'bt-booking'), array($this, 'print_section_confirm_email_info'), 'btb-settings-email');
     add_settings_field('btb_confirm_from', esc_html__('Confirmation sender', 'bt-booking'), array($this, 'confirm_from_cb'), 'btb-settings-email', 'btb-settings-confirm-email');
     add_settings_field('btb_confirm_subject', esc_html__('Confirmation subject', 'bt-booking'), array($this, 'confirm_subject_cb'), 'btb-settings-email', 'btb-settings-confirm-email');
     add_settings_field('btb_confirm_template', esc_html__('Confirmation template', 'bt-booking'), array($this, 'confirm_template_cb'), 'btb-settings-email', 'btb-settings-confirm-email');
     add_settings_field('btb_confirm_html', esc_html__('HTML E-mail', 'bt-booking'), array($this, 'confirm_html_cb'), 'btb-settings-email', 'btb-settings-confirm-email');
     // End confirmation email section
     // Start notification email section
     add_settings_section('btb-settings-notify-email', esc_html__('Notification E-mail', 'bt-booking'), array($this, 'print_section_notify_email_info'), 'btb-settings-email');
     add_settings_field('btb_notify_to', esc_html__('Notification address', 'bt-booking'), array($this, 'notify_to_cb'), 'btb-settings-email', 'btb-settings-notify-email');
     add_settings_field('btb_notify_subject', esc_html__('Notification subject', 'bt-booking'), array($this, 'notify_subject_cb'), 'btb-settings-email', 'btb-settings-notify-email');
     add_settings_field('btb_notify_template', esc_html__('Notification template', 'bt-booking'), array($this, 'notify_template_cb'), 'btb-settings-email', 'btb-settings-notify-email');
     add_settings_field('btb_notify_html', esc_html__('HTML E-mail', 'bt-booking'), array($this, 'notify_html_cb'), 'btb-settings-email', 'btb-settings-notify-email');
     // End notifiaction email section
     // Start style section
     add_settings_section('btb-settings-style', esc_html__('Style'), array($this, 'print_section_style_info'), 'btb-settings-style');
     add_settings_field('btb_style', esc_html__('Style', 'bt-booking'), array($this, 'settings_generic_select'), 'btb-settings-style', 'btb-settings-style', array('id' => 'btb_style', 'default' => 'default', 'options' => array('default' => esc_html__('Default'), 'avada' => 'Avada', 'bootstrap3' => 'Bootstrap 3'), 'multiple' => false));
     add_settings_field('btb_custom_style', esc_html__('Custom style', 'bt-booking'), array($this, 'custom_style_callback'), 'btb-settings-style', 'btb-settings-style');
     add_settings_field('btb_clearfix_tag', esc_html__('Clearfix tag', 'bt-booking'), array($this, 'clearfix_tag_callback'), 'btb-settings-style', 'btb-settings-style');
     // End style section
     // Start struct data sections
     add_settings_section('btb-settings-struct-data', esc_html__('Structured Data', 'bt-booking'), array($this, 'print_section_struct_data_info'), 'btb-settings-structdata');
     add_settings_field('btb_struct_data_enabled', esc_html__('Enable', 'bt-booking'), array($this, 'struct_data_enabled_callback'), 'btb-settings-structdata', 'btb-settings-struct-data');
     add_settings_field('btb_struct_data_default_type', esc_html__('Default data type', 'bt-booking'), array($this, 'settings_input_radios'), 'btb-settings-structdata', 'btb-settings-struct-data', array('id' => 'btb_struct_data_default_type', 'default' => 'event', 'radios' => array('disabled' => __('Disabled', 'bt-booking'), 'product' => __('Product', 'bt-booking'), 'event' => __('Event', 'bt-booking')), 'description' => esc_html__('Default data type used for your events, you can change it per event.', 'bt-booking')));
     add_settings_field('btb_struct_data_event_type', esc_html__('Default event type', 'bt-booking'), array($this, 'settings_generic_select'), 'btb-settings-structdata', 'btb-settings-struct-data', array('id' => 'btb_struct_data_event_type', 'default' => 'Event', 'options' => btb_get_event_types(), 'description' => esc_html__('Default event type if your default data type is event.', 'bt-booking'), array('code' => array()), 'multiple' => false));
     add_settings_field('btb_struct_data_orga_info_page', esc_html__('Organization info page', 'bt-booking'), array($this, 'settings_page_select'), 'btb-settings-structdata', 'btb-settings-struct-data', array('id' => 'btb_struct_data_orga_info_page', 'default' => '', 'description' => wp_kses(__('Select a page that contains structured Schema.org data about your organization. You can use the settings below together with the <code>btb_schema_organization</code> shortcode.', 'bt-booking'), array('code' => array()))));
     add_settings_field('btb_struct_data_src_desc', esc_html__('Description source', 'bt-booking'), array($this, 'settings_generic_select'), 'btb-settings-structdata', 'btb-settings-struct-data', array('id' => 'btb_struct_data_src_desc', 'default' => 'default', 'options' => array('default' => __('Default', 'bt-booking'), 'yoastseo' => 'Yoast SEO'), 'description' => esc_html__('Select the source for the meta description of the events. By default, the short description of the event or the excerpt of a description page are used.', 'bt-booking'), 'multiple' => false));
     add_settings_field('btb_struct_data_eligible_regions', esc_html__('Eligible regions', 'bt-booking'), array($this, 'settings_generic_select'), 'btb-settings-structdata', 'btb-settings-struct-data', array('id' => 'btb_struct_data_eligible_regions', 'default' => array(), 'options' => BTBookingCountries::get_countries(true, false, true), 'description' => esc_html__('Select the countries and regions your event offers are eligible for. If nothing is selected, this information will not be added to the Schema.org markup. On Windows, Linux and Co. you can select multiple entries by pressing Ctrl button while clicking on entries, on Mac hold Cmd down.', 'bt-booking'), 'multiple' => true));
     add_settings_section('btb-settings-struct-data-organization', esc_html__('Organization', 'bt-booking'), array($this, 'print_section_struct_data_organization_info'), 'btb-settings-structdata');
     add_settings_field('btb_struct_data_orga_type', esc_html__('Organization type', 'bt-booking'), array($this, 'struct_data_orga_type_cb'), 'btb-settings-structdata', 'btb-settings-struct-data-organization');
     add_settings_field('btb_struct_data_organization', esc_html__('Name', 'bt-booking'), array($this, 'struct_data_organization_name_cb'), 'btb-settings-structdata', 'btb-settings-struct-data-organization');
     add_settings_field('btb_struct_data_description', esc_html__('Description', 'bt-booking'), array($this, 'struct_data_organization_description_cb'), 'btb-settings-structdata', 'btb-settings-struct-data-organization');
     add_settings_field('btb_struct_data_orga_url', esc_html__('Website', 'bt-booking'), array($this, 'settings_input_url'), 'btb-settings-structdata', 'btb-settings-struct-data-organization', array('id' => 'btb_struct_data_orga_url', 'default' => '', 'description' => esc_html__('URL of your organization\'s website. By default your site URL is used.', 'bt-booking'), 'placeholder' => get_option('siteurl')));
     add_settings_field('btb_struct_data_isicv4', 'ISIC V4', array($this, 'struct_data_address_isicv4_cb'), 'btb-settings-structdata', 'btb-settings-struct-data-organization');
     add_settings_section('btb-settings-struct-data-address', esc_html__('Address', 'bt-booking'), array($this, 'print_section_struct_data_address_info'), 'btb-settings-structdata');
     add_settings_field('btb_struct_data_pobox', esc_html__('PO Box', 'bt-booking'), array($this, 'struct_data_address_pobox_cb'), 'btb-settings-structdata', 'btb-settings-struct-data-address');
     add_settings_field('btb_struct_data_street', esc_html__('Street', 'bt-booking'), array($this, 'struct_data_address_street_cb'), 'btb-settings-structdata', 'btb-settings-struct-data-address');
     add_settings_field('btb_struct_data_postalcode', esc_html__('Postal code', 'bt-booking'), array($this, 'struct_data_address_postalcode_cb'), 'btb-settings-structdata', 'btb-settings-struct-data-address');
     add_settings_field('btb_struct_data_city', esc_html__('City', 'bt-booking'), array($this, 'struct_data_address_city_cb'), 'btb-settings-structdata', 'btb-settings-struct-data-address');
     add_settings_field('btb_struct_data_region', esc_html__('Region', 'bt-booking'), array($this, 'struct_data_address_region_cb'), 'btb-settings-structdata', 'btb-settings-struct-data-address');
     add_settings_field('btb_struct_data_country', esc_html__('Country', 'bt-booking'), array($this, 'struct_data_address_country_cb'), 'btb-settings-structdata', 'btb-settings-struct-data-address');
     add_settings_section('btb-settings-struct-data-contact', esc_html__('Contact', 'bt-booking'), array($this, 'print_section_struct_data_contact_info'), 'btb-settings-structdata');
     add_settings_field('btb_struct_data_email', esc_html__('E-mail', 'bt-booking'), array($this, 'struct_data_email_cb'), 'btb-settings-structdata', 'btb-settings-struct-data-contact');
     add_settings_field('btb_struct_data_phone', esc_html__('Phone number', 'bt-booking'), array($this, 'struct_data_phone_cb'), 'btb-settings-structdata', 'btb-settings-struct-data-contact');
     add_settings_field('btb_struct_data_fax', esc_html__('Fax number', 'bt-booking'), array($this, 'struct_data_fax_cb'), 'btb-settings-structdata', 'btb-settings-struct-data-contact');
     add_settings_section('btb-settings-struct-data-social', esc_html__('Social Profiles', 'bt-booking'), array($this, 'print_section_struct_data_social_info'), 'btb-settings-structdata');
     add_settings_field('btb_struct_data_facebook', esc_html__('Facebook', 'bt-booking'), array($this, 'settings_input_url'), 'btb-settings-structdata', 'btb-settings-struct-data-social', array('id' => 'btb_struct_data_facebook', 'default' => '', 'description' => esc_html__('Your organization\'s Facebook profile page.', 'bt-booking') . ' ' . esc_html__('E.g.', 'bt-booking') . ' https://www.facbook.com/MyCompanyPage', 'placeholder' => 'https://www.facbook.com/MyCompanyPage'));
     add_settings_field('btb_struct_data_instagram', esc_html__('Instagram', 'bt-booking'), array($this, 'settings_input_url'), 'btb-settings-structdata', 'btb-settings-struct-data-social', array('id' => 'btb_struct_data_instagram', 'default' => '', 'description' => esc_html__('Your organization\'s Instagram profile page.', 'bt-booking') . ' ' . esc_html__('E.g.', 'bt-booking') . ' https://www.instagram.com/MyCompanyPage', 'placeholder' => 'https://www.instagram.com/MyCompanyPage'));
     add_settings_field('btb_struct_data_twitter', esc_html__('Twitter', 'bt-booking'), array($this, 'settings_input_url'), 'btb-settings-structdata', 'btb-settings-struct-data-social', array('id' => 'btb_struct_data_twitter', 'default' => '', 'description' => esc_html__('Your organization\'s Twitter profile page.', 'bt-booking') . ' ' . esc_html__('E.g.', 'bt-booking') . ' https://twitter.com/MyCompanyPage', 'placeholder' => 'https://twitter.com/MyCompanyPage'));
     add_settings_field('btb_struct_data_googleplus', esc_html__('Google+', 'bt-booking'), array($this, 'settings_input_url'), 'btb-settings-structdata', 'btb-settings-struct-data-social', array('id' => 'btb_struct_data_googleplus', 'default' => '', 'description' => esc_html__('Your organization\'s Google+ profile page.', 'bt-booking') . ' ' . esc_html__('E.g.', 'bt-booking') . ' https://plug.google.com/MyCompanyPage', 'placeholder' => 'https://plus.google.com/MyCompanyPage'));
     // End struct data section
     // Start shortcode section
     add_settings_section('btb-settings-shortcode', 'Shortcode', array($this, 'print_section_shortcode_info'), 'btb-settings-shortcode');
     add_settings_field('btb_shortcode_headline', esc_html__('Booking headline', 'bt-booking'), array($this, 'shortcode_headline_cb'), 'btb-settings-shortcode', 'btb-settings-shortcode');
     add_settings_field('btb_shortcode_buttontext', esc_html__('Book button text', 'bt-booking'), array($this, 'shortcode_buttontext_cb'), 'btb-settings-shortcode', 'btb-settings-shortcode');
     add_settings_field('btb_shortcode_buttonclass', esc_html__('Book button class', 'bt-booking'), array($this, 'shortcode_buttonclass_cb'), 'btb-settings-shortcode', 'btb-settings-shortcode');
     add_settings_field('btb_shortcode_timeselectortext', esc_html__('Time selector label', 'bt-booking'), array($this, 'shortcode_timeselectortext_cb'), 'btb-settings-shortcode', 'btb-settings-shortcode');
     add_settings_field('btb_shortcode_timeselectorclass', esc_html__('Time selector class', 'bt-booking'), array($this, 'shortcode_timeselectorclass_cb'), 'btb-settings-shortcode', 'btb-settings-shortcode');
     add_settings_field('btb_shortcode_timeselectorlayout', esc_html__('Time selector layout', 'bt-booking'), array($this, 'settings_generic_select'), 'btb-settings-shortcode', 'btb-settings-shortcode', array('id' => 'btb_shortcode_timeselectorlayout', 'default' => 'dropdown', 'description' => esc_html__('Layout used for the time selector.', 'bt-booking'), 'options' => array('dropdown' => esc_html__('Dropdown', 'bt-booking'), 'bigdropdown' => esc_html__('List', 'bt-booking'), 'radiolist' => esc_html__('Radio list', 'bt-booking')), 'multiple' => false));
     add_settings_field('btb_shortcode_amount_label', esc_html__('Amount input label', 'bt-booking'), array($this, 'shortcode_amount_label_cb'), 'btb-settings-shortcode', 'btb-settings-shortcode');
     add_settings_field('btb_shortcode_amount_class', esc_html__('Amount input class', 'bt-booking'), array($this, 'shortcode_amount_class_cb'), 'btb-settings-shortcode', 'btb-settings-shortcode');
     add_settings_field('btb_shortcode_amount_surrounding', esc_html__('Amount surrounding class', 'bt-booking'), array($this, 'shortcode_amount_surrounding_cb'), 'btb-settings-shortcode', 'btb-settings-shortcode');
     add_settings_field('btb_shortcode_ind_req_label', esc_html__('Individual request label', 'bt-booking'), array($this, 'settings_input_text'), 'btb-settings-shortcode', 'btb-settings-shortcode', array('id' => 'btb_shortcode_ind_req_label', 'default' => esc_html__('Individual request', 'bt-booking'), 'description' => esc_html__('Text or the individual request link.', 'bt-booking')));
     add_settings_field('btb_shortcode_force_ind_req', esc_html__('Force individual request', 'bt-booking'), array($this, 'settings_input_checkbox'), 'btb-settings-shortcode', 'btb-settings-shortcode', array('id' => 'btb_shortcode_force_ind_req', 'default' => 0, 'description' => esc_html__('Show the link for making an individual request when there are event times.', 'bt-booking')));
     // End shortcode section
 }
コード例 #2
0
 /**
  * Creates the meta box for managing structured data.
  *
  * This meta box shows options to managa structued data to generate for this event
  * if the option to generate structured data is enabled.
  *
  * @param object $post
  */
 public static function btb_event_structured_data_box($post)
 {
     $event = btb_get_event($post->ID);
     wp_nonce_field('btb_save_event_structured_data_box_data', 'btb_event_structured_data_box_nonce');
     $structtype = !empty($event->struct_data_type) ? $event->struct_data_type : get_option('btb_struct_data_default_type', 'event');
     $structTypeRow = new BTCTableRow();
     $structTypeRow->add_content(BTCWPAdminInputRadios::create('structtype', 'btb_struct_data_type', __('Data type', 'bt-booking'), array('disabled' => __('Disabled', 'bt-booking'), 'product' => __('Product', 'bt-booking'), 'event' => __('Event', 'bt-booking')), $structtype));
     $eventTypeChooserRow = new BTCTableRow(array(), array('id' => 'eventTypeRow', 'hide' => $structtype != 'event'));
     $eventTypeChooserRow->add_content(BTCWPAdminInputSelect::create('btb_event_type_field', __('Event type', 'bt-booking'), !empty($event->event_type) ? $event->event_type : get_option('btb_struct_data_event_type'), btb_get_event_types()));
     $venuePages = get_posts(array('post_type' => 'btb_venue', 'orderby' => 'title'));
     $venueOptions = array('' => __('Nothing selected', 'bt-booking'));
     if (!empty($venuePages)) {
         foreach ($venuePages as $vKey => $vPage) {
             $venueOptions[$vPage->ID] = $vPage->post_title;
         }
     }
     $venueChooserRow = new BTCTableRow(array(), array('id' => 'venueRow', 'hide' => $structtype != 'event'));
     $venueChooserRow->add_content(BTCWPAdminInputSelect::create('post_parent', __('Venue', 'bt-booking'), $event->venue, $venueOptions));
     $table = new BTCTable(array('htmlClass' => 'form-table'), new BTCTableBody(array(), array($structTypeRow, $eventTypeChooserRow, $venueChooserRow)));
     $table->render();
 }
コード例 #3
0
/**
 * @brief Returns the name of the specified \a $event_type.
 *
 * @param string $event_type Event type to return the name for.
 * @return string Event type name.
 */
function btb_get_event_type_name($event_type)
{
    $types = btb_get_event_types(false);
    return $types[$event_type];
}