array( 'url' => '%s/assets/images/home_page_header.jpg', 'thumbnail_url' => '%s/assets/images/home_page_header.jpg', 'description' => __('Homepage Header Image', 'one-page-express'), ), )); add_theme_support('custom-header', apply_filters('one_page_express_custom_header_args', array( 'default-image' => get_template_directory_uri() . "/assets/images/home_page_header.jpg", 'width' => 1920, 'height' => 800, 'flex-height' => true, 'flex-width' => true, 'header-text' => false, ))); add_theme_support('custom-logo', array( 'flex-height' => true, 'flex-width' => true, 'width' => 150, 'height' => 70, )); add_image_size('one-page-express-full-hd', 1920, 1080); add_theme_support('customize-selective-refresh-widgets'); register_nav_menus(array( 'primary' => __('Primary Menu', 'one-page-express'), )); include_once get_template_directory() . '/customizer/kirki/kirki.php'; Kirki::add_config('one_page_express', array( 'capability' => 'edit_theme_options', 'option_type' => 'theme_mod', )); require_once get_template_directory() . '/inc/companion.php'; /* tgm-plugin-activation */ require_once get_template_directory() . '/class-tgm-plugin-activation.php'; $plugins = array( 'one-page-express-companion' => array( 'title' => __('One Page Express Companion', 'one-page-express'), 'description' => __('The One Page Express Companion plugin adds drag and drop functionality and many other features to the One Page Express theme.', 'one-page-express'), 'activate' => array( 'label' => __('Activate', 'one-page-express'), ), 'install' => array( 'label' => __('Install', 'one-page-express'), ), ), 'contact-form-7' => array( 'title' => __('Contact Form 7', 'one-page-express'), 'description' => __('The Contact Form 7 plugin is recommended for the One Page Express contact section.', 'one-page-express'), 'activate' => array( 'label' => __('Activate', 'one-page-express'), ), 'install' => array( 'label' => __('Install', 'one-page-express'), ), ), ); $plugins = apply_filters('one_page_express_theme_info_plugins', $plugins); \OnePageExpress\Companion_Plugin::init(array( 'slug' => 'one-page-express-companion', 'activate_label' => __('Activate One Page Express Companion', 'one-page-express'), 'activate_msg' => __('This feature requires the One Page Express Companion plugin to be activated.', 'one-page-express'), 'install_label' => __('Install One Page Express Companion', 'one-page-express'), 'install_msg' => __('This feature requires the One Page Express Companion plugin to be installed.', 'one-page-express'), 'plugins' => $plugins, )); add_action('admin_menu', 'one_page_express_register_theme_page'); } add_filter('image_size_names_choose', 'one_page_express_full_hd_image_size_label'); function one_page_express_full_hd_image_size_label($sizes) { return array_merge($sizes, array( 'one-page-express-full-hd' => __('Full HD', 'one-page-express'), )); } function one_page_express_register_theme_page() { add_theme_page('one_page_express_theme_page', __('One Page Express Info', 'one-page-express'), 'activate_plugins', 'one-page-express-welcome', 'one_page_express_load_theme_partial'); } function one_page_express_load_theme_partial() { wp_enqueue_style('one-page-express-theme-info', get_template_directory_uri() . "/assets/css/theme-info.css"); require_once get_template_directory() . "/inc/theme-info.php"; } add_action('after_setup_theme', 'one_page_express_setup'); function one_page_express_register_required_plugins() { $plugins = array( array( 'name' => 'One Page Express Companion', 'slug' => 'one-page-express-companion', 'required' => false, ), array( 'name' => 'Contact Form 7', 'slug' => 'contact-form-7', 'required' => false, ), ); $plugins = apply_filters('one_page_express_tgmpa_plugins', $plugins); $config = array( 'id' => 'one_page_express', 'default_path' => '', 'menu' => 'tgmpa-install-plugins', 'has_notices' => true, 'dismissable' => true, 'dismiss_msg' => '', 'is_automatic' => false, 'message' => '', ); $config = apply_filters('one_page_express_tgmpa_config', $config); tgmpa($plugins, $config); } add_action('tgmpa_register', 'one_page_express_register_required_plugins'); function one_page_express_sanitize_checkbox($val) { return (isset($val) && $val == true ? true : false); } function one_page_express_sanitize_textfield($val) { return wp_kses_post(force_balance_tags($val)); } function one_page_express_print_header_image() { $image = get_theme_mod('one_page_express_header_content_image', get_template_directory_uri() . "/screenshot.jpg"); if ( ! empty($image)) { printf('', esc_url($image)); } } function one_page_express_parse_eff($text) { if (is_customize_preview()) { return $text; } $matches = array(); preg_match_all('/\{([^\}]+)\}/i', $text, $matches); $alternative_texts = get_theme_mod("one_page_express_header_text_morph_alternatives", ""); $alternative_texts = preg_split("/[\r\n]+/", $alternative_texts); for ($i = 0; $i < count($matches[1]); $i++) { $orig = $matches[0][$i]; $str = $matches[1][$i]; $strings = explode("|", $str); if (count($alternative_texts)) { $str = json_encode(array_merge($strings, $alternative_texts)); } $text = str_replace($orig, '' . $strings[0] . '', $text); } return $text; } function one_page_express_print_header_title() { $title = get_theme_mod('one_page_express_header_title', ""); $show = get_theme_mod('one_page_express_header_show_title', true); $title = one_page_express_parse_eff($title); $has_text_effect = get_theme_mod('one_page_express_header_show_text_morph_animation', true); if (current_user_can('edit_theme_options')) { if ($title == "") { $title = __('You can set this title from the customizer.', 'one-page-express'); } } if ($show) { printf('
%1$s
', $subtitle); } } if ( ! function_exists('one_page_express_print_header_button_1')) { function one_page_express_print_header_button_1() { $title = get_theme_mod('one_page_express_header_btn_1_label', ""); $url = get_theme_mod('one_page_express_header_btn_1_url', '#'); $show = get_theme_mod('one_page_express_header_show_btn_1', true); if (current_user_can('edit_theme_options')) { if (empty($title)) { $title = __('Action button 1', 'one-page-express'); } } if ($show && $title) { printf('%2$s', esc_url($url), wp_kses_post($title)); } } } if ( ! function_exists('one_page_express_print_header_button_2')) { function one_page_express_print_header_button_2() { $title = get_theme_mod('one_page_express_header_btn_2_label', ""); $url = get_theme_mod('one_page_express_header_btn_2_url', '#'); $show = get_theme_mod('one_page_express_header_show_btn_2', true); if (current_user_can('edit_theme_options')) { if (empty($title)) { $title = __('Action button 2', 'one-page-express'); } } if ($show && $title) { printf('%2$s', esc_url($url), wp_kses_post($title)); } } } function one_page_express_add_sections($wp_customize) { $wp_customize->add_panel('one_page_express_header', array( 'priority' => 2, 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => esc_html__('Header', 'one-page-express'), 'description' => '', ) ); if ( ! apply_filters('one_page_exress_companion_installed', false)) { $wp_customize->add_section( new \OnePageExpress\FrontPageSection( $wp_customize, 'page_content', array( 'priority' => 2, 'title' => esc_html__('Front Page content', 'one-page-express'), ) ) ); } else { $wp_customize->add_section('one_page_express_page_content', array( 'priority' => 2, 'title' => __('Front Page content', 'one-page-express'), )); } $wp_customize->add_section('one_page_express_footer_template', array( 'title' => __('Footer Settings', 'one-page-express'), 'priority' => 3, )); $sections = array( 'one_page_express_header_layout' => array( 'title' => __('Front Page Header Designs', 'one-page-express'), 'priority' => 1, ), 'one_page_express_header_background_chooser' => array( 'title' => __('Front Page Header Background', 'one-page-express'), 'panel' => 'one_page_express_header', ), 'one_page_express_header_content' => array( 'title' => __('Front Page Header Content', 'one-page-express'), 'panel' => 'one_page_express_header', ), 'header_image' => array( 'title' => __('Inner Pages Header Background', 'one-page-express'), 'panel' => 'one_page_express_header', ), 'one_page_express_inner_header_content' => array( 'title' => __('Inner Pages Header Content', 'one-page-express'), 'panel' => 'one_page_express_header', ), ); foreach ($sections as $name => $value) { $wp_customize->add_section($name, $value); } $wp_customize->add_section('general_site_style', array( 'title' => __('Typography', 'one-page-express'), 'panel' => 'general_settings', 'capability' => 'edit_theme_options', )); Kirki::add_field('one_page_express', array( 'type' => 'ope-info-pro', 'label' => __('Typography options are only available in PRO. @BTN@', 'one-page-express'), 'section' => 'general_site_style', 'settings' => "general_site_style_pro", )); } function one_page_express_header_presets() { global $ONE_PAGE_EXPRESS_PRESETS; $result = array(); $presets_file = get_template_directory() . '/customizer/presets.php'; if (file_exists($presets_file) && ! isset($ONE_PAGE_EXPRESS_PRESETS)) { $ONE_PAGE_EXPRESS_PRESETS = require $presets_file; } if (isset($ONE_PAGE_EXPRESS_PRESETS)) { $result = $ONE_PAGE_EXPRESS_PRESETS; } $result = apply_filters('one_page_express_header_presets', $result); return $result; } add_action('customize_controls_enqueue_scripts', function () { $cssUrl = get_template_directory_uri() . "/customizer/"; $jsUrl = get_template_directory_uri() . "/customizer/js/"; wp_enqueue_script('one-page-express-customize', $jsUrl . "/customize.js", array('jquery')); wp_enqueue_style('one-page-express-webgradients', get_template_directory_uri() . '/assets/css/webgradients.css'); wp_enqueue_style('one-page-express-customizer-base', $cssUrl . '/customizer.css'); }); add_action('customize_preview_init', function () { $jsUrl = get_template_directory_uri() . "/customizer/js/"; wp_enqueue_script('one-page-express-customize-preview', $jsUrl . "/customize-preview.js", array('jquery', 'customize-preview'), '', true); }); function one_page_express_footer_filter() { $footer_template = get_theme_mod("one_page_express_footer_template", "simple"); if ($footer_template == 'simple') { $footer_template = ''; } if ($footer_template) { wp_enqueue_style('one-page-express-' . $footer_template . '-css', get_template_directory_uri() . "/assets/css/footer-$footer_template.css", array("one-page-express-style")); } return $footer_template; } add_filter('one_page_express_footer', 'one_page_express_footer_filter'); function one_page_express_get_footer() { $template = apply_filters('one_page_express_footer', ""); get_footer($template); } if ( ! function_exists("one_page_express_get_header")) { function one_page_express_get_header($template = "") { $template = apply_filters('one_page_express_get_header', $template); get_header($template); } } $one_page_express_footer_socials_icons = array( array( 'icon' => "fa-facebook-f", 'link' => "#", 'label' => __('Icon 1', 'one-page-express'), 'id' => 'social_icon_1', ), array( 'icon' => "fa-twitter", 'link' => "#", 'label' => __('Icon 2', 'one-page-express'), 'id' => 'social_icon_2', ), array( 'icon' => "fa-google-plus", 'link' => "#", 'label' => __('Icon 3', 'one-page-express'), 'id' => 'social_icon_3', ), array( 'icon' => "fa-behance", 'link' => "#", 'label' => __('Icon 4', 'one-page-express'), 'id' => 'social_icon_4', ) , array( 'icon' => "fa-dribbble", 'link' => "#", 'label' => __('Icon 5', 'one-page-express'), 'id' => 'social_icon_5', ), ); function one_page_express_footer_settings($wp_customize) { $wp_customize->add_section(new OnePageExpress\Info_PRO_Section( $wp_customize, 'ope-pro', array( "priority" => 0, 'capability' => "edit_theme_options", ))); Kirki::add_field('one_page_express', array( 'type' => 'select', 'settings' => 'one_page_express_footer_template', 'label' => esc_html__('Template', 'one-page-express'), 'section' => 'one_page_express_footer_template', 'default' => 'simple', 'choices' => array( "simple" => __("Simple", "one-page-express"), "contact-boxes" => __("Contact Boxes", "one-page-express"), "content-lists" => __("Widgets Boxes", "one-page-express"), ), )); Kirki::add_field('one_page_express', array( 'type' => 'ope-info-pro', 'label' => __('Footer text and color options available in PRO. @BTN@', 'one-page-express'), 'section' => 'one_page_express_footer_template', 'settings' => "one_page_express_footer__footer_pro", 'default' => true, 'transport' => 'postMessage', )); Kirki::add_field('one_page_express', array( 'type' => 'sectionseparator', 'label' => __('Box 1', 'one-page-express'), 'section' => 'one_page_express_footer_template', 'settings' => "one_page_express_footer_box1_separator", 'active_callback' => array( array( 'setting' => 'one_page_express_footer_template', 'operator' => 'in', 'value' => array("contact-boxes"), ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'font-awesome-icon-control', 'settings' => 'one_page_express_footer_boxes_b1_icon', 'label' => __('Icon', 'one-page-express'), 'section' => 'one_page_express_footer_template', 'default' => "fa-map-marker", 'active_callback' => array( array( 'setting' => 'one_page_express_footer_template', 'operator' => '==', 'value' => "contact-boxes", ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'textarea', 'settings' => 'one_page_express_footer_boxes_b1_text', 'label' => __('Text', 'one-page-express'), 'section' => 'one_page_express_footer_template', 'default' => "San Francisco - Adress - 18 California Street 1100.", 'sanitize_callback' => 'wp_kses_post', 'active_callback' => array( array( 'setting' => 'one_page_express_footer_template', 'operator' => '==', 'value' => "contact-boxes", ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'sectionseparator', 'label' => __('Box 2', 'one-page-express'), 'section' => 'one_page_express_footer_template', 'settings' => "one_page_express_footer_box2_separator", 'active_callback' => array( array( 'setting' => 'one_page_express_footer_template', 'operator' => 'in', 'value' => array("contact-boxes"), ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'font-awesome-icon-control', 'settings' => 'one_page_express_footer_boxes_b2_icon', 'label' => __('Icon', 'one-page-express'), 'section' => 'one_page_express_footer_template', 'default' => "fa-envelope-o", 'active_callback' => array( array( 'setting' => 'one_page_express_footer_template', 'operator' => '==', 'value' => "contact-boxes", ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'textarea', 'settings' => 'one_page_express_footer_boxes_b2_text', 'label' => __('Text', 'one-page-express'), 'section' => 'one_page_express_footer_template', 'default' => "hello@mycoolsite.com", 'sanitize_callback' => 'wp_kses_post', 'active_callback' => array( array( 'setting' => 'one_page_express_footer_template', 'operator' => '==', 'value' => "contact-boxes", ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'sectionseparator', 'label' => __('Box 3', 'one-page-express'), 'section' => 'one_page_express_footer_template', 'settings' => "one_page_express_footer_box3_separator", 'active_callback' => array( array( 'setting' => 'one_page_express_footer_template', 'operator' => 'in', 'value' => array("contact-boxes"), ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'font-awesome-icon-control', 'settings' => 'one_page_express_footer_boxes_b3_icon', 'label' => __('Icon', 'one-page-express'), 'section' => 'one_page_express_footer_template', 'default' => "fa-phone", 'active_callback' => array( array( 'setting' => 'one_page_express_footer_template', 'operator' => '==', 'value' => "contact-boxes", ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'textarea', 'settings' => 'one_page_express_footer_boxes_b3_text', 'label' => __('Text', 'one-page-express'), 'section' => 'one_page_express_footer_template', 'default' => "+1 (555) 345 234343", 'sanitize_callback' => 'wp_kses_post', 'active_callback' => array( array( 'setting' => 'one_page_express_footer_template', 'operator' => '==', 'value' => "contact-boxes", ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'sectionseparator', 'label' => __('Social Icons', 'one-page-express'), 'section' => 'one_page_express_footer_template', 'settings' => "one_page_express_footer_social_icons_separator", 'active_callback' => array( array( 'setting' => 'one_page_express_footer_template', 'operator' => 'in', 'value' => array("contact-boxes", "content-lists"), ), ), )); global $one_page_express_footer_socials_icons; foreach ($one_page_express_footer_socials_icons as $social) { $sociallabel = $social['label']; $socialid = $social['id']; Kirki::add_field('one_page_express', array( 'type' => 'checkbox', 'settings' => 'one_page_express_footer_social_icons_show_' . $socialid, 'label' => __('Show ', 'one-page-express') . $sociallabel, 'section' => 'one_page_express_footer_template', 'default' => true, 'active_callback' => array( array( 'setting' => 'one_page_express_footer_template', 'operator' => 'in', 'value' => array("contact-boxes", "content-lists"), ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'url', 'settings' => 'one_page_express_footer_social_icons_' . $socialid . '_url', 'label' => $sociallabel . __(' url', 'one-page-express'), 'section' => 'one_page_express_footer_template', 'default' => "#", 'active_callback' => array( array( 'setting' => 'one_page_express_footer_social_icons_show_' . $socialid, 'operator' => '==', 'value' => true, ), array( 'setting' => 'one_page_express_footer_template', 'operator' => 'in', 'value' => array("contact-boxes", "content-lists"), ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'font-awesome-icon-control', 'settings' => 'one_page_express_footer_social_icons_' . $socialid . '_icon', 'label' => $sociallabel . __(' icon', 'one-page-express'), 'section' => 'one_page_express_footer_template', 'default' => $social['icon'], 'active_callback' => array( array( 'setting' => 'one_page_express_footer_social_icons_show_' . $socialid, 'operator' => '==', 'value' => true, ), array( 'setting' => 'one_page_express_footer_template', 'operator' => 'in', 'value' => array("contact-boxes", "content-lists"), ), ), )); } } function one_page_express_header_clasic_settings($wp_customize, $inner) { $prefix = $inner ? "one_page_express_inner_header" : "one_page_express_header"; $section = $inner ? "header_image" : "one_page_express_header_background_chooser"; /* background type dropdown */ $wp_customize->add_setting($prefix . '_background_type', array( 'default' => "image", 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control(new OnePageExpress\BackgroundTypesControl($wp_customize, $prefix . '_background_type', array( 'label' => __('Background Type', 'one-page-express'), 'section' => $section, "choices" => apply_filters( 'ope_header_background_type', array( "image" => array( "label" => __("Image", "one-page-express"), "control" => array( $inner ? "header_image" : "one_page_express_header_image", $prefix . "_parallax_pro", ), ), "gradient" => array( "label" => __("Gradient", "one-page-express"), "control" => array( $prefix . "_gradient", $prefix . "_gradient_pro_info", ), ), "slideshow" => array( "label" => __("Slideshow", "one-page-express"), "control" => array( $prefix . "_slideshow", $prefix . "_slideshow_speed", $prefix . "_slideshow_duration", ), ), "video" => array( "label" => __("Video", "one-page-express"), "control" => array( $prefix . "_video", $prefix . "_video_external", $prefix . "_video_poster", ), ), ), $inner, $prefix ), 'priority' => 2, ))); /* image settings */ if ( ! $inner) { $wp_customize->add_setting($prefix . '_image', array( 'sanitize_callback' => 'esc_url_raw', 'default' => get_template_directory_uri() . "/assets/images/home_page_header.jpg", )); $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, $prefix . '_image', array( 'label' => __('Header Image', 'one-page-express'), 'section' => $section, 'priority' => 2, ))); $wp_customize->add_setting($prefix . '_parallax_pro', array( 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control(new OnePageExpress\Info_PRO_Control($wp_customize, $prefix . '_parallax_pro', array( 'label' => __('Parallax header background image available in PRO. @BTN@', 'one-page-express'), 'section' => $section, 'priority' => 2, 'transport' => 'postMessage', ))); } /* video settings */ $wp_customize->add_setting($prefix . '_video', array( 'default' => "", 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control(new WP_Customize_Media_Control($wp_customize, $prefix . '_video', array( 'label' => __('Self hosted video (MP4)', 'one-page-express'), 'section' => $section, 'mime_type' => 'video', "priority" => 2, ))); $wp_customize->add_setting($prefix . '_video_external', array( 'default' => "https://www.youtube.com/watch?v=3iXYciBTQ0c", 'sanitize_callback' => 'esc_url_raw', )); $wp_customize->add_control($prefix . '_video_external', array( 'label' => __('External Video', 'one-page-express'), 'section' => $section, 'type' => 'text', "priority" => 2, )); $wp_customize->add_setting($prefix . '_video_poster', array( 'default' => get_template_directory_uri() . "/assets/images/Mock-up.jpg", 'sanitize_callback' => 'esc_url_raw', )); $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, $prefix . '_video_poster', array( 'label' => __('Video Poster', 'one-page-express'), 'section' => $section, "priority" => 2, ))); } function one_page_express_footer_social_icons() { global $one_page_express_footer_socials_icons; foreach ($one_page_express_footer_socials_icons as $social_icon) { $socialid = $social_icon['id']; $show = get_theme_mod('one_page_express_footer_social_icons_show_' . $socialid, true); if ($show) { $url = get_theme_mod('one_page_express_footer_social_icons_' . $socialid . '_url', '#'); $icon_mod = 'one_page_express_footer_social_icons_' . $socialid . '_icon'; $icon = get_theme_mod($icon_mod, $social_icon['icon']); printf('', esc_url($url), esc_attr($icon)); } } } function one_page_express_header_settings($inner) { $prefix = $inner ? "one_page_express_inner_header" : "one_page_express_header"; $section = $inner ? "header_image" : "one_page_express_header_background_chooser"; Kirki::add_field('one_page_express', array( 'type' => 'sectionseparator', 'label' => __('Navigation Options', 'one-page-express'), 'section' => $section, 'priority' => 0, 'settings' => $prefix . "_nav_header_1", )); Kirki::add_field('one_page_express', array( 'type' => 'checkbox', 'label' => __('Show Navigation Bottom Border', 'one-page-express'), 'section' => $section, 'priority' => 0, 'settings' => "{$prefix}_nav_border", 'default' => false, 'transport' => 'refresh', )); Kirki::add_field('one_page_express', array( 'type' => 'checkbox', 'label' => __('Boxed Navigation', 'one-page-express'), 'section' => $section, 'priority' => 0, 'settings' => "{$prefix}_nav_boxed", 'default' => false, 'transport' => 'refresh', )); Kirki::add_field('one_page_express', array( 'type' => 'checkbox', 'label' => __('Stick to top', 'one-page-express'), 'section' => $section, 'priority' => 0, 'settings' => "{$prefix}_nav_sticked", 'default' => true, 'transport' => 'refresh', )); Kirki::add_field('one_page_express', array( 'type' => 'checkbox', 'label' => __('Transparent Navigation', 'one-page-express'), 'section' => $section, 'priority' => 0, 'settings' => "{$prefix}_nav_transparent", 'default' => true, 'transport' => 'postMessage', )); Kirki::add_field('one_page_express', array( 'type' => 'ope-info-pro', 'label' => __('Navigation colors and typography options available in PRO. @BTN@', 'one-page-express'), 'section' => $section, 'priority' => 0, 'settings' => "{$prefix}_nav_pro", 'default' => true, 'transport' => 'postMessage', )); $nav_class = ".homepage.header-top.fixto-fixed"; if ($inner) { $nav_class = ".header-top.fixto-fixed"; } Kirki::add_field('one_page_express', array( 'type' => 'sectionseparator', 'label' => __('Header Background Options', 'one-page-express'), 'section' => $section, 'priority' => 1, 'settings' => $prefix . "_header_1", )); if ( ! $inner) { Kirki::add_field('one_page_express', array( 'type' => 'checkbox', 'label' => __('Full Height Background', 'one-page-express'), 'section' => "one_page_express_header_background_chooser", 'priority' => 1, 'settings' => 'one_page_express_full_height', 'default' => false, 'transport' => 'postMessage', )); } Kirki::add_field('one_page_express', array( 'type' => 'radio-html', 'settings' => $prefix . '_gradient', 'label' => esc_html__('Header Gradient', 'one-page-express'), 'section' => $section, 'default' => 'plum_plate', "priority" => 2, 'choices' => array( "plum_plate" => "plum_plate", "ripe_malinka" => "ripe_malinka", "new_life" => "new_life", "sunny_morning" => "sunny_morning", ), 'transport' => 'postMessage', )); Kirki::add_field('one_page_express', array( 'type' => 'ope-info-pro', 'settings' => $prefix . '_gradient_pro_info', 'label' => esc_html__('You can use over 170 gradients in the PRO version. @BTN@', 'one-page-express'), 'section' => $section, "priority" => 2, 'transport' => 'postMessage', )); Kirki::add_field('one_page_express', array( 'type' => 'repeater', 'label' => __('Header Slideshow Images', 'one-page-express'), 'section' => $section, 'priority' => 2, 'row_label' => array( 'type' => 'text', 'value' => esc_attr__('slideshow image', 'one-page-express'), ), 'settings' => $prefix . '_slideshow', 'default' => array( array("url" => get_template_directory_uri() . "/assets/images/home_page_header.jpg"), array("url" => get_template_directory_uri() . "/assets/images/jeremy-bishop-14593.jpg"), ), 'fields' => array( 'url' => array( 'type' => 'image', 'label' => esc_attr__('Image', 'one-page-express'), 'default' => get_template_directory_uri() . "/assets/images/home_page_header.jpg", ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'number', 'settings' => $prefix . '_slideshow_duration', 'label' => __('Slide Duration', 'one-page-express'), 'section' => $section, 'priority' => 2, 'default' => 5000, 'active_callback' => array( array( 'setting' => $prefix . '_background_type', 'operator' => '==', 'value' => 'slideshow', ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'number', 'priority' => 2, 'settings' => $prefix . '_slideshow_speed', 'label' => __('Effect Speed', 'one-page-express'), 'section' => $section, 'default' => 1000, 'active_callback' => array( array( 'setting' => $prefix . '_background_type', 'operator' => '==', 'value' => 'slideshow', ), ), )); /* overlay settings */ Kirki::add_field('one_page_express', array( 'type' => 'sectionseparator', 'label' => __('Header Overlay Options', 'one-page-express'), 'section' => $section, 'priority' => 3, 'settings' => $prefix . '_overlay_header', )); Kirki::add_field('one_page_express', array( 'type' => 'checkbox', 'settings' => $prefix . '_show_overlay', 'label' => __('Show overlay', 'one-page-express'), 'section' => $section, 'priority' => 3, 'default' => true, )); $header_class = $inner ? ".header" : ".header-homepage"; Kirki::add_field('one_page_express', array( 'type' => 'color', 'label' => __('Overlay Color', 'one-page-express'), 'section' => $section, 'priority' => 3, 'settings' => $prefix . '_overlay_color', 'default' => "#000", 'transport' => 'postMessage', 'choices' => array( 'alpha' => false, ), "output" => array( array( 'element' => $header_class . '.color-overlay:before', 'property' => 'background-color', ), ), 'js_vars' => array( array( 'element' => $header_class . ".color-overlay:before", 'function' => 'css', 'property' => 'background-color', 'suffix' => ' !important', ), ), 'active_callback' => array( array( 'setting' => $prefix . '_show_overlay', 'operator' => '==', 'value' => true, ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'slider', 'label' => __('Overlay Opacity', 'one-page-express'), 'section' => $section, 'priority' => 3, 'settings' => $prefix . '_overlay_opacity', 'default' => 0.4, 'transport' => 'postMessage', 'choices' => array( 'min' => '0', 'max' => '1', 'step' => '0.01', ), "output" => array( array( 'element' => $header_class . '.color-overlay:before', 'property' => 'opacity', ), ), 'js_vars' => array( array( 'element' => $header_class . '.color-overlay:before', 'function' => 'css', 'property' => 'opacity', 'suffix' => ' !important', ), ), 'active_callback' => array( array( 'setting' => $prefix . '_show_overlay', 'operator' => '==', 'value' => true, ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'sectionseparator', 'label' => __('Header Separator', 'one-page-express'), 'section' => $section, 'settings' => $prefix . '_separator_header', )); Kirki::add_field('one_page_express', array( 'type' => 'checkbox', 'label' => __('Show header separator', 'one-page-express'), 'section' => $section, 'settings' => $prefix . '_show_separator', 'default' => true, )); Kirki::add_field('one_page_express', array( 'type' => 'select', 'settings' => $prefix . '_separator', 'label' => esc_html__('Type', 'one-page-express'), 'section' => $section, 'default' => 'triangle-asymmetrical-negative', 'choices' => one_page_express_separators_list(), 'active_callback' => array( array( 'setting' => $prefix . '_show_separator', 'operator' => '==', 'value' => true, ), ), )); $separator_class = $inner ? ".header-separator" : ".header-separator"; Kirki::add_field('one_page_express', array( 'type' => 'slider', 'label' => __('Separator Height', 'one-page-express'), 'section' => $section, 'settings' => $prefix . '_separator_height', 'default' => 90, 'transport' => 'postMessage', 'choices' => array( 'min' => '0', 'max' => '400', 'step' => '1', ), "output" => array( array( "element" => $inner ? ".header-separator svg" : ".header-homepage + .header-separator svg", 'property' => 'height', 'suffix' => '!important', 'units' => 'px', ), ), 'js_vars' => array( array( 'element' => $inner ? ".header-separator svg" : ".header-homepage + .header-separator svg", 'function' => 'css', 'property' => 'height', 'units' => "px", 'suffix' => '!important', ), ), 'active_callback' => array( array( 'setting' => $prefix . '_show_separator', 'operator' => '==', 'value' => true, ), ), )); $section = $inner ? "one_page_express_inner_header_content" : "one_page_express_header_content"; $content_class = $inner ? ".inner-header-description" : ".header-description"; if ($inner) { Kirki::add_field('one_page_express', array( 'type' => 'radio-buttonset', 'label' => __('Text Align', 'one-page-express'), 'section' => $section, 'settings' => $prefix . '_text_align', 'default' => "center", "choices" => array( "left" => __("Left", "one-page-express"), "center" => __("Center", "one-page-express"), "right" => __("Right", "one-page-express"), ), "output" => array( array( "element" => $content_class, "property" => "text-align", "media_query" => "@media only screen and (min-width: 768px)", ), ), 'transport' => 'postMessage', 'js_vars' => array( array( 'element' => $content_class, 'function' => 'css', 'property' => 'text-align', "media_query" => "@media only screen and (min-width: 768px)", ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'checkbox', 'label' => __('Show subtitle (blog description)', 'one-page-express'), 'section' => $section, 'settings' => $prefix . '_show_subtitle', 'default' => true, 'partial_refresh' => array( $prefix . '_show_subtitle' => array( 'selector' => '.inner-header-description .header-subtitle', 'container_inclusive' => true, 'render_callback' => function () { $one_page_express_inner_header_show_subtitle = get_theme_mod('one_page_express_inner_header_show_subtitle', 1); if ($one_page_express_inner_header_show_subtitle) { echo esc_html(get_bloginfo('description')); } }, ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'spacing', 'label' => __('Content Spacing', 'one-page-express'), 'section' => "one_page_express_inner_header_content", 'settings' => 'one_page_express_inner_header_spacing', 'default' => array( "top" => "8%", "bottom" => "8%", ), "output" => array( array( "element" => ".inner-header-description", "property" => "padding", 'suffix' => ' !important', ), ), 'transport' => 'postMessage', 'js_vars' => array( array( 'element' => '.inner-header-description', 'function' => 'css', 'property' => 'padding', 'suffix' => ' !important', ), ), )); } } if ( ! function_exists("one_page_express_print_header_content")) { function one_page_express_print_header_content() { one_page_express_print_header_title(); one_page_express_print_header_subtitle(); echo ' '; } } function one_page_express_separators_list() { $allseparators = array( 'tilt' => array( 'title' => _x('Tilt', 'Shapes', 'one-page-express'), 'has_flip' => true, 'height_only' => true, ), 'tilt-flipped' => array( 'title' => _x('Tilt Flipped', 'Shapes', 'one-page-express'), 'has_flip' => true, 'height_only' => true, ), 'opacity-tilt' => array( 'title' => _x('Tilt Opacity', 'Shapes', 'one-page-express'), 'has_flip' => true, ), 'triangle' => array( 'title' => _x('Triangle', 'Shapes', 'one-page-express'), 'has_negative' => true, ), 'triangle-asymmetrical' => array( 'title' => _x('Triangle Asymmetrical', 'Shapes', 'one-page-express'), 'has_negative' => true, 'has_flip' => true, ), 'opacity-fan' => array( 'title' => _x('Fan Opacity', 'Shapes', 'one-page-express'), ), 'mountains' => array( 'title' => _x('Mountains', 'Shapes', 'one-page-express'), 'has_flip' => true, ), 'pyramids' => array( 'title' => _x('Pyramids', 'Shapes', 'one-page-express'), 'has_negative' => true, 'has_flip' => true, ), 'waves' => array( 'title' => _x('Waves', 'Shapes', 'one-page-express'), 'has_negative' => true, 'has_flip' => true, ), 'wave-brush' => array( 'title' => _x('Waves Brush', 'Shapes', 'one-page-express'), 'has_flip' => true, ), 'waves-pattern' => array( 'title' => _x('Waves Pattern', 'Shapes', 'one-page-express'), 'has_flip' => true, ), 'clouds' => array( 'title' => _x('Clouds', 'Shapes', 'one-page-express'), 'has_negative' => true, 'has_flip' => true, 'height_only' => true, ), 'curve' => array( 'title' => _x('Curve', 'Shapes', 'one-page-express'), 'has_negative' => true, ), 'curve-asymmetrical' => array( 'title' => _x('Curve Asymmetrical', 'Shapes', 'one-page-express'), 'has_negative' => true, 'has_flip' => true, ), 'drops' => array( 'title' => _x('Drops', 'Shapes', 'one-page-express'), 'has_negative' => true, 'has_flip' => true, 'height_only' => true, ), 'arrow' => array( 'title' => _x('Arrow', 'Shapes', 'one-page-express'), 'has_negative' => true, ), 'book' => array( 'title' => _x('Book', 'Shapes', 'one-page-express'), 'has_negative' => true, ), 'split' => array( 'title' => _x('Split', 'Shapes', 'one-page-express'), 'has_negative' => true, ), 'zigzag' => array( 'title' => _x('Zigzag', 'Shapes', 'one-page-express'), ), ); $separators = array(); foreach ($allseparators as $key => $value) { $separators[$key] = $value['title']; if (isset($value['has_negative'])) { $separators["$key-negative"] = $value['title'] . " Negative"; } } // array_multisort($separators); return $separators; } function one_page_express_customize_register_controls($wp_customize) { $wp_customize->register_control_type('OnePageExpress\Kirki_Controls_Separator_Control'); // Register our custom control with Kirki add_filter('kirki/control_types', function ($controls) { $controls['sectionseparator'] = '\\OnePageExpress\\Kirki_Controls_Separator_Control'; $controls['ope-info'] = '\\OnePageExpress\\Info_Control'; $controls['ope-info-pro'] = '\\OnePageExpress\\Info_PRO_Control'; return $controls; }); $wp_customize->register_control_type('\OnePageExpress\Kirki_Controls_Radio_HTML_Control'); // Register our custom control with Kirki add_filter('kirki/control_types', function ($controls) { $controls['radio-html'] = '\\OnePageExpress\\Kirki_Controls_Radio_HTML_Control'; return $controls; }); $wp_customize->register_control_type('\OnePageExpress\FontAwesomeIconControl'); add_filter('kirki/control_types', function ($controls) { $controls['font-awesome-icon-control'] = "\\OnePageExpress\\FontAwesomeIconControl"; return $controls; }); require_once get_template_directory() . "/customizer/customizer-controls.php"; require_once get_template_directory() . "/customizer/customizer.php"; one_page_express_add_sections($wp_customize); one_page_express_customize_register_action($wp_customize); } if ( ! class_exists("Kirki")) { include_once get_template_directory() . '/customizer/kirki/kirki.php'; } function one_page_express_partial_render_callback($partial) { return get_theme_mod($partial->settings[0]); } one_page_express_header_settings(false); one_page_express_header_settings(true); one_page_express_header_frontpage_settings(); function one_page_express_customize_register_action($wp_customize) { one_page_express_header_clasic_settings($wp_customize, false); one_page_express_header_clasic_settings($wp_customize, true); one_page_express_footer_settings($wp_customize); $wp_customize->add_setting('header_presets', array( 'default' => "image", 'sanitize_callback' => 'esc_html', "transport" => "postMessage", )); $wp_customize->add_control(new OnePageExpress\RowsListControl($wp_customize, 'header_presets', array( 'label' => __('Background Type', 'one-page-express'), 'section' => 'one_page_express_header_layout', "insertText" => __("Apply Preset", "one-page-express"), "type" => "presets_changer", "dataSource" => one_page_express_header_presets(), "priority" => 2, ))); if (apply_filters('show_inactive_plugin_infos', true)) { $wp_customize->add_setting('frontpage_header_presets_pro', array( 'sanitize_callback' => 'sanitize_text_field', )); $wp_customize->add_control(new OnePageExpress\Info_Control($wp_customize, 'frontpage_header_presets_pro', array( 'label' => __('10 more beautiful header designs are available in the PRO version. @BTN@', 'one-page-express'), 'section' => 'one_page_express_header_layout', 'priority' => 2, 'transport' => 'postMessage', ))); } /* logo height */ $wp_customize->add_setting('one_page_express_logo_max_height', array( 'default' => 70, 'sanitize_callback' => 'one_page_express_sanitize_textfield', )); $wp_customize->add_control('one_page_express_logo_max_height', array( 'label' => __('Logo Max Height', 'one-page-express'), 'section' => 'title_tagline', 'priority' => 8, 'type' => 'number', )); $wp_customize->add_setting('one_page_express_bold_logo', array( 'default' => true, 'sanitize_callback' => 'one_page_express_sanitize_checkbox', )); $wp_customize->add_control('one_page_express_bold_logo', array( 'label' => __('Alternate text logo words', 'one-page-express'), 'section' => 'title_tagline', 'priority' => 9, 'type' => 'checkbox', )); $wp_customize->add_setting('one_page_express_logo_dark', array( 'default' => false, 'sanitize_callback' => 'absint', )); $custom_logo_args = get_theme_support('custom-logo'); $wp_customize->add_control(new WP_Customize_Cropped_Image_Control($wp_customize, 'one_page_express_logo_dark', array( 'label' => __('Dark Logo', 'one-page-express'), 'section' => 'title_tagline', 'priority' => 9, 'height' => $custom_logo_args[0]['height'], 'width' => $custom_logo_args[0]['width'], 'flex_height' => $custom_logo_args[0]['flex-height'], 'flex_width' => $custom_logo_args[0]['flex-width'], 'button_labels' => array( 'select' => __('Select logo', 'one-page-express'), 'change' => __('Change logo', 'one-page-express'), 'remove' => __('Remove', 'one-page-express'), 'default' => __('Default', 'one-page-express'), 'placeholder' => __('No logo selected', 'one-page-express'), 'frame_title' => __('Select logo', 'one-page-express'), 'frame_button' => __('Choose logo', 'one-page-express'), ), ))); } function one_page_express_header_frontpage_settings() { Kirki::add_field('one_page_express', array( 'type' => 'sectionseparator', 'label' => __('Main Content', 'one-page-express'), 'section' => "one_page_express_header_content", 'settings' => "one_page_express_header_content_separator", )); Kirki::add_field('one_page_express', array( 'type' => 'checkbox', 'settings' => 'one_page_express_blog_header_overlap', 'label' => __('Allow blog content to overlap header', 'one-page-express'), 'section' => 'one_page_express_inner_header_content', 'default' => true, )); Kirki::add_field('one_page_express', array( 'type' => 'dimension', 'settings' => 'one_page_express_blog_header_margin', 'label' => __('Overlap with', 'one-page-express'), 'section' => 'one_page_express_inner_header_content', 'default' => '200px', 'active_callback' => array( array( "setting" => "one_page_express_blog_header_overlap", "operator" => "==", "value" => true, ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'select', 'settings' => 'one_page_express_header_content_partial', 'label' => esc_html__('Content template', 'one-page-express'), 'section' => 'one_page_express_header_content', 'default' => 'content-on-center', 'choices' => array( "content-on-center" => __("Text on center", "one-page-express"), "content-on-right" => __("Text on right", "one-page-express"), "content-on-left" => __("Text on left", "one-page-express"), "image-on-left" => __("Image on left, text on right", "one-page-express"), "image-on-right" => __("Text on left, image on right", "one-page-express"), ), )); Kirki::add_field('one_page_express', array( 'type' => 'ope-info-pro', 'label' => __('More content layouts available in PRO. @BTN@', 'one-page-express'), 'section' => 'one_page_express_header_content', 'settings' => "one_page_express_header_content_partial_pro", )); Kirki::add_field('one_page_express', array( 'type' => 'radio-buttonset', 'label' => __('Text Align', 'one-page-express'), 'section' => 'one_page_express_header_content', 'settings' => 'one_page_express_header_text_align', 'default' => "center", "choices" => array( "left" => __("Left", "one-page-express"), "center" => __("Center", "one-page-express"), "right" => __("Right", "one-page-express"), ), "output" => array( array( "element" => ".header-content .align-holder", "property" => "text-align", "suffix" => "!important", "media_query" => "@media only screen and (min-width: 768px)", ), ), 'transport' => 'postMessage', 'js_vars' => array( array( 'element' => ".header-content .align-holder", 'function' => 'css', "suffix" => "!important", 'property' => 'text-align', ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'spacing', 'label' => __('Content Spacing', 'one-page-express'), 'section' => "one_page_express_header_content", 'settings' => 'one_page_express_header_spacing', 'default' => array( "top" => "8%", "bottom" => "8%", ), "output" => array( array( "element" => ".header-homepage .header-description-row", "property" => "padding", 'suffix' => ' !important', ), ), 'transport' => 'postMessage', 'js_vars' => array( array( 'element' => '.header-homepage .header-description-row', 'function' => 'css', 'property' => 'padding', 'suffix' => ' !important', ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'slider', 'label' => __('Image width', 'one-page-express'), 'section' => "one_page_express_header_content", 'settings' => 'one_page_express_header_column_width', 'choices' => array( 'min' => '0', 'max' => '100', 'step' => '1', ), 'default' => 50, 'transport' => 'postMessage', "output" => array( array( "element" => ".header-description-left", "property" => "width", 'suffix' => '%!important', "media_query" => "@media only screen and (min-width: 768px)", ), array( "element" => ".header-description-right", "property" => "width", "function" => "style", 'prefix' => 'calc(100% - ', 'suffix' => '%)!important', "media_query" => "@media only screen and (min-width: 768px)", ), ), "js_vars" => array( array( "element" => ".header-description-left", "function" => "style", "property" => "width", 'suffix' => '%!important', "media_query" => "@media only screen and (min-width: 768px)", ), array( "element" => ".header-description-right", "property" => "width", "function" => "style", 'prefix' => 'calc(100% - ', 'suffix' => '% )!important', "media_query" => "@media only screen and (min-width: 768px)", ), ), 'active_callback' => array( array( 'setting' => 'one_page_express_header_content_partial', 'operator' => 'in', 'value' => array('image-on-left', 'image-on-right'), ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'slider', 'label' => __('Text Width', 'one-page-express'), 'section' => "one_page_express_header_content", 'settings' => 'one_page_express_header_content_width', 'choices' => array( 'min' => '0', 'max' => '100', 'step' => '1', ), 'default' => 100, 'transport' => 'postMessage', "js_vars" => array( array( "element" => ".header-content", "function" => "css", "property" => "width", 'suffix' => '!important', "units" => "%", ), ), "output" => array( array( "element" => ".header-content", "property" => "width", 'suffix' => '!important', "units" => "%", "media_query" => "@media only screen and (min-width: 768px)", ), ), )); /* Header Content Image */ function one_page_express_render_header_image() { $image = get_theme_mod('one_page_express_header_content_image', get_template_directory_uri() . "/assets/images/project1.jpg"); if (empty($image)) { $image = ""; } return ''; } Kirki::add_field('one_page_express', array( 'type' => 'image', 'settings' => 'one_page_express_header_content_image', 'label' => __('Image', 'one-page-express'), 'section' => 'one_page_express_header_content', 'default' => get_template_directory_uri() . "/screenshot.jpg", 'active_callback' => array( array( 'setting' => 'one_page_express_header_content_partial', 'operator' => 'contains', 'value' => array('image-on-left', 'image-on-right'), ), ), 'partial_refresh' => array( 'one_page_express_header_content_image' => array( 'selector' => ".header-description-left", 'container_inclusive' => false, 'render_callback' => "one_page_express_render_header_image", ), ), )); /* Header Title */ Kirki::add_field('one_page_express', array( 'type' => 'sectionseparator', 'label' => __('Title', 'one-page-express'), 'section' => "one_page_express_header_content", 'settings' => "one_page_express_header_content_title_separator", )); Kirki::add_field('one_page_express', array( 'type' => 'checkbox', 'settings' => 'one_page_express_header_show_title', 'label' => __('Show title', 'one-page-express'), 'section' => 'one_page_express_header_content', 'default' => true, )); Kirki::add_field('one_page_express', array( 'type' => 'text', 'settings' => 'one_page_express_header_title', 'label' => __('Title', 'one-page-express'), 'section' => 'one_page_express_header_content', 'default' => "", 'sanitize_callback' => 'wp_kses_post', 'active_callback' => array( array( 'setting' => 'one_page_express_header_show_title', 'operator' => '==', 'value' => true, ), ), 'transport' => 'postMessage', 'js_vars' => array( array( 'element' => ".header-homepage .heading8", 'function' => 'html', ), ), 'partial_refresh' => array( 'one_page_express_header_title' => array( 'selector' => ".header-homepage .heading8", 'render_callback' => "one_page_express_partial_render_callback", ), ), )); /* Header Subtitle */ Kirki::add_field('one_page_express', array( 'type' => 'sectionseparator', 'label' => __('Subtitle', 'one-page-express'), 'section' => "one_page_express_header_content", 'settings' => "one_page_express_header_content_subtitle_separator", )); Kirki::add_field('one_page_express', array( 'type' => 'checkbox', 'settings' => 'one_page_express_header_show_subtitle', 'label' => __('Show subtitle', 'one-page-express'), 'section' => 'one_page_express_header_content', 'default' => true, )); Kirki::add_field('one_page_express', array( 'type' => 'textarea', 'settings' => 'one_page_express_header_subtitle', 'label' => __('Subtitle', 'one-page-express'), 'section' => 'one_page_express_header_content', 'default' => "", 'sanitize_callback' => 'wp_kses_post', 'active_callback' => array( array( 'setting' => 'one_page_express_header_show_subtitle', 'operator' => '==', 'value' => true, ), ), 'transport' => 'postMessage', 'js_vars' => array( array( 'element' => ".header-homepage .header-subtitle", 'function' => 'html', ), ), 'partial_refresh' => array( 'one_page_express_header_content' => array( 'selector' => ".header-homepage .header-subtitle", 'render_callback' => "one_page_express_partial_render_callback", ), ), )); /* Button 1 */ Kirki::add_field('one_page_express', array( 'type' => 'sectionseparator', 'label' => __('Primary Button', 'one-page-express'), 'section' => "one_page_express_header_content", 'settings' => "one_page_express_header_content_primary_button_separator", )); Kirki::add_field('one_page_express', array( 'type' => 'checkbox', 'settings' => 'one_page_express_header_show_btn_1', 'label' => __('Show primary button', 'one-page-express'), 'section' => 'one_page_express_header_content', 'default' => true, )); Kirki::add_field('one_page_express', array( 'type' => 'text', 'settings' => 'one_page_express_header_btn_1_label', 'label' => __('Label', 'one-page-express'), 'section' => 'one_page_express_header_content', 'default' => "", 'sanitize_callback' => 'wp_kses_post', 'active_callback' => array( array( 'setting' => 'one_page_express_header_show_btn_1', 'operator' => '==', 'value' => true, ), ), 'transport' => 'postMessage', 'js_vars' => array( array( 'element' => ".header-homepage a.hp-header-primary-button", 'function' => 'html', ), ), 'partial_refresh' => array( 'one_page_express_header_btn_1_label' => array( 'selector' => ".header-homepage a.hp-header-primary-button", 'render_callback' => "one_page_express_partial_render_callback", ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'url', 'settings' => 'one_page_express_header_btn_1_url', 'label' => __('URL', 'one-page-express'), 'section' => 'one_page_express_header_content', 'default' => '#', 'active_callback' => array( array( 'setting' => 'one_page_express_header_show_btn_1', 'operator' => '==', 'value' => true, ), ), 'transport' => 'postMessage', 'js_vars' => array( array( 'element' => ".header-homepage a.hp-header-primary-button", 'function' => 'html', 'attr' => 'href', ), ), )); /* Button 2 */ Kirki::add_field('one_page_express', array( 'type' => 'sectionseparator', 'label' => __('Secondary Button', 'one-page-express'), 'section' => "one_page_express_header_content", 'settings' => "one_page_express_header_content_secondary_button_separator", )); Kirki::add_field('one_page_express', array( 'type' => 'checkbox', 'settings' => 'one_page_express_header_show_btn_2', 'label' => __('Show secondary button', 'one-page-express'), 'section' => 'one_page_express_header_content', 'default' => true, )); Kirki::add_field('one_page_express', array( 'type' => 'text', 'settings' => 'one_page_express_header_btn_2_label', 'label' => __('Label', 'one-page-express'), 'section' => 'one_page_express_header_content', 'default' => "", 'sanitize_callback' => 'wp_kses_post', 'active_callback' => array( array( 'setting' => 'one_page_express_header_show_btn_2', 'operator' => '==', 'value' => true, ), ), 'transport' => 'postMessage', 'js_vars' => array( array( 'element' => ".header-homepage a.hp-header-secondary-button", 'function' => 'html', ), ), 'partial_refresh' => array( 'one_page_express_header_btn_2_label' => array( 'selector' => ".header-homepage a.hp-header-secondary-button", 'render_callback' => "one_page_express_partial_render_callback", ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'url', 'settings' => 'one_page_express_header_btn_2_url', 'label' => __('URL', 'one-page-express'), 'section' => 'one_page_express_header_content', 'default' => '#', 'active_callback' => array( array( 'setting' => 'one_page_express_header_show_btn_2', 'operator' => '==', 'value' => true, ), ), 'transport' => 'postMessage', 'js_vars' => array( array( 'element' => ".header-homepage a.hp-header-secondary-button", 'function' => 'html', 'attr' => 'href', ), ), )); Kirki::add_field('one_page_express', array( 'type' => 'ope-info-pro', 'label' => __('Title and buttons style options available in PRO. @BTN@', 'one-page-express'), 'section' => 'one_page_express_header_content', 'settings' => "one_page_express_header_content_title_buttons_pro", )); } function one_page_express_customize_change_controls($wp_customize) { $wp_customize->get_control('header_image')->priority = 3; \OnePageExpress\Companion_Plugin::check_companion($wp_customize); } add_action('customize_register', 'one_page_express_customize_register_controls'); add_action('customize_register', 'one_page_express_customize_change_controls', 999); /** * Add a pingback url auto-discovery header for singularly identifiable articles. */ function one_page_express_pingback_header() { if (is_singular() && pings_open()) { printf('' . "\n", get_bloginfo('pingback_url')); } } add_action('wp_head', 'one_page_express_pingback_header'); /** * Register sidebar */ function one_page_express_widgets_init() { register_sidebar(array( 'name' => __('Sidebar widget area', 'one-page-express'), 'id' => 'sidebar-1', 'before_widget' => ' ', 'before_title' => '