170 lines
5.4 KiB
PHP
170 lines
5.4 KiB
PHP
<?php
|
|
/**
|
|
* Astra Theme Customizer Configuration Builder.
|
|
*
|
|
* @package astra-addon
|
|
* @link https://wpastra.com/
|
|
* @since 3.0.0
|
|
*/
|
|
|
|
// No direct access, please.
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
if ( ! class_exists( 'Astra_Customizer_Config_Base' ) ) {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Register Builder Customizer Configurations.
|
|
*
|
|
* @since 3.0.0
|
|
*/
|
|
// @codingStandardsIgnoreStart
|
|
class Astra_Customizer_Adv_Search_Configs extends Astra_Customizer_Config_Base {
|
|
// @codingStandardsIgnoreEnd
|
|
|
|
/**
|
|
* Register Builder Customizer Configurations.
|
|
*
|
|
* @param Array $configurations Astra Customizer Configurations.
|
|
* @param WP_Customize_Manager $wp_customize instance of WP_Customize_Manager.
|
|
* @since 3.0.0
|
|
* @return Array Astra Customizer Configurations with updated configurations.
|
|
*/
|
|
public function register_configuration( $configurations, $wp_customize ) {
|
|
|
|
$_section = 'section-header-search';
|
|
|
|
/**
|
|
* Option: Pro Search Bar Configs.
|
|
*/
|
|
$_configs = array(
|
|
// Option: Header Search Style.
|
|
array(
|
|
'name' => ASTRA_THEME_SETTINGS . '[header-search-box-type]',
|
|
'default' => astra_get_option( 'header-search-box-type' ),
|
|
'section' => $_section,
|
|
'priority' => 1,
|
|
'title' => __( 'Search Style', 'astra-addon' ),
|
|
'type' => 'control',
|
|
'control' => 'ast-select',
|
|
'choices' => array(
|
|
'slide-search' => __( 'Slide Search', 'astra-addon' ),
|
|
'full-screen' => __( 'Full Screen Search', 'astra-addon' ),
|
|
'header-cover' => __( 'Header Cover Search', 'astra-addon' ),
|
|
'search-box' => __( 'Search Box', 'astra-addon' ),
|
|
),
|
|
'description' => __( 'Only the Search Box style will work within the Off Canvas section.', 'astra-addon' ),
|
|
'context' => astra_addon_builder_helper()->general_tab,
|
|
'transport' => 'refresh',
|
|
'divider' => array( 'ast_class' => 'ast-section-spacing' ),
|
|
),
|
|
|
|
/**
|
|
* Option: search placeholder text.
|
|
*/
|
|
array(
|
|
'name' => ASTRA_THEME_SETTINGS . '[header-search-box-placeholder]',
|
|
'default' => astra_get_option( 'header-search-box-placeholder' ),
|
|
'section' => $_section,
|
|
'priority' => 3,
|
|
'title' => __( 'Placeholder Text', 'astra-addon' ),
|
|
'type' => 'control',
|
|
'control' => 'ast-text-input',
|
|
'transport' => 'postMessage',
|
|
'partial' => array(
|
|
'selector' => '.ast-header-search',
|
|
'container_inclusive' => false,
|
|
'render_callback' => array( Astra_Ext_Adv_Search_Markup::get_instance(), 'get_search_markup' ),
|
|
),
|
|
'context' => astra_addon_builder_helper()->general_tab,
|
|
'divider' => array( 'ast_class' => 'ast-top-section-divider ast-bottom-section-divider' ),
|
|
),
|
|
|
|
array(
|
|
'name' => ASTRA_THEME_SETTINGS . '[fullsearch-modal-color-mode]',
|
|
'default' => astra_get_option( 'fullsearch-modal-color-mode' ),
|
|
'type' => 'control',
|
|
'priority' => 3,
|
|
'control' => 'ast-selector',
|
|
'section' => $_section,
|
|
'title' => __( 'Modal Box Style', 'astra-addon' ),
|
|
'choices' => array(
|
|
'light' => __( 'Light', 'astra-addon' ),
|
|
'dark' => __( 'Dark', 'astra-addon' ),
|
|
),
|
|
'renderAs' => 'text',
|
|
'responsive' => false,
|
|
'transport' => 'refresh',
|
|
'context' => array(
|
|
astra_addon_builder_helper()->general_tab_config,
|
|
array(
|
|
'setting' => ASTRA_THEME_SETTINGS . '[header-search-box-type]',
|
|
'operator' => '==',
|
|
'value' => 'full-screen',
|
|
),
|
|
),
|
|
'divider' => array( 'ast_class' => 'ast-top-section-divider' ),
|
|
),
|
|
array(
|
|
'name' => ASTRA_THEME_SETTINGS . '[full-screen-modal-heading]',
|
|
'default' => astra_get_option( 'full-screen-modal-heading' ),
|
|
'type' => 'control',
|
|
'control' => Astra_Theme_Extension::$switch_control,
|
|
'section' => $_section,
|
|
'title' => __( 'Modal Box Heading', 'astra-addon' ),
|
|
'transport' => 'refresh',
|
|
'priority' => 3,
|
|
'divider' => array( 'ast_class' => 'ast-top-dotted-divider' ),
|
|
'context' => array(
|
|
astra_addon_builder_helper()->general_tab_config,
|
|
array(
|
|
'setting' => ASTRA_THEME_SETTINGS . '[header-search-box-type]',
|
|
'operator' => '==',
|
|
'value' => 'full-screen',
|
|
),
|
|
),
|
|
),
|
|
array(
|
|
'name' => ASTRA_THEME_SETTINGS . '[fullscreen-modal-heading-text]',
|
|
'default' => astra_get_option( 'fullscreen-modal-heading-text' ),
|
|
'section' => $_section,
|
|
'priority' => 3,
|
|
'title' => __( 'Heading Text', 'astra-addon' ),
|
|
'type' => 'control',
|
|
'control' => 'ast-text-input',
|
|
'transport' => 'refresh',
|
|
'divider' => array( 'ast_class' => 'ast-top-dotted-divider' ),
|
|
'partial' => array(
|
|
'selector' => '.ast-header-search',
|
|
'container_inclusive' => false,
|
|
'render_callback' => array( Astra_Ext_Adv_Search_Markup::get_instance(), 'get_search_markup' ),
|
|
),
|
|
'context' => array(
|
|
astra_addon_builder_helper()->general_tab_config,
|
|
array(
|
|
'setting' => ASTRA_THEME_SETTINGS . '[header-search-box-type]',
|
|
'operator' => '==',
|
|
'value' => 'full-screen',
|
|
),
|
|
array(
|
|
'setting' => ASTRA_THEME_SETTINGS . '[full-screen-modal-heading]',
|
|
'operator' => '==',
|
|
'value' => true,
|
|
),
|
|
),
|
|
),
|
|
);
|
|
|
|
return array_merge( $configurations, $_configs );
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Kicking this off by creating object of this class.
|
|
*/
|
|
|
|
new Astra_Customizer_Adv_Search_Configs();
|
|
|