register_control_type( 'OceanWP_Customizer_Dimensions_Control' ); $wp_customize->register_control_type( 'OceanWP_Customizer_Dropdown_Pages' ); $wp_customize->register_control_type( 'OceanWP_Customizer_Heading_Control' ); $wp_customize->register_control_type( 'OceanWP_Customizer_Icon_Select_Control' ); $wp_customize->register_control_type( 'OceanWP_Customizer_Icon_Select_Multi_Control' ); $wp_customize->register_control_type( 'OceanWP_Customize_Multiple_Select_Control' ); $wp_customize->register_control_type( 'OceanWP_Customizer_Slider_Control' ); $wp_customize->register_control_type( 'OceanWP_Customizer_Sortable_Control' ); $wp_customize->register_control_type( 'OceanWP_Customizer_Text_Control' ); $wp_customize->register_control_type( 'OceanWP_Customizer_Textarea_Control' ); $wp_customize->register_control_type( 'OceanWP_Customizer_Typo_Control' ); $wp_customize->register_control_type( 'OceanWP_Customizer_Typography_Control' ); } /** * Updating the search box light Mode via Ajax request * * @since 1.0.0 */ public function update_search_box_light_Mode() { $darkMode = esc_attr( $_REQUEST['darkMode'] ); update_option( 'oceanCustomizerSearchdarkMode', $darkMode ); wp_send_json_success(); } /** * Adds customizer helpers * * @since 1.0.0 */ public function controls_helpers() { require_once( OCEANWP_INC_DIR .'customizer/customizer-helpers.php' ); require_once( OCEANWP_INC_DIR .'customizer/sanitization-callbacks.php' ); } /** * Core modules * * @since 1.0.0 */ public static function customize_register( $wp_customize ) { // Tweak default controls $wp_customize->get_setting( 'custom_logo' )->transport = 'refresh'; $wp_customize->get_setting( 'blogname' )->transport = 'postMessage'; $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; // Move custom logo setting $wp_customize->get_control( 'custom_logo' )->section = 'ocean_header_logo'; if ( ! function_exists( 'owp_fs' ) ) { // Add our upsell section if ( true != apply_filters( 'oceanwp_licence_tab_enable', false ) ) { // Get link $url = 'https://oceanwp.org/core-extensions-bundle/'; // If affiliate ref $ref_url = ''; $aff_ref = apply_filters( 'ocean_affiliate_ref', $ref_url ); // Add & is has referal link if ( $aff_ref ) { $if_ref = '&'; } else { $if_ref = '?'; } // Add source $utm = $if_ref . 'utm_source=customizer&utm_campaign=bundle&utm_medium=wp-dash'; $wp_customize->add_section( new OceanWP_Upsell_Section( $wp_customize, 'oceanwp_upsell_section', array( 'title' => esc_html__( 'Premium Addons Available', 'oceanwp' ), 'url' => $url . $aff_ref . $utm, 'priority' => 0, 'backgroundcolor' => '#5277fe', 'textcolor' => '#fff', ) ) ); } } } /** * Adds customizer options * * @since 1.0.0 */ public function register_options() { // Var $dir = OCEANWP_INC_DIR .'customizer/settings/'; // Customizer files array $files = array( 'typography', 'general', 'blog', 'header', 'topbar', 'footer-widgets', 'footer-bottom', 'sidebar', ); foreach ( $files as $key ) { $setting = str_replace( '-', '_', $key ); // If Ocean Extra is activated if ( OCEAN_EXTRA_ACTIVE && class_exists( 'Ocean_Extra_Theme_Panel' ) ) { if ( Ocean_Extra_Theme_Panel::get_setting( 'oe_'. $setting .'_panel' ) ) { require_once( $dir . $key .'.php' ); } } else { require_once( $dir . $key .'.php' ); } } // If WooCommerce is activated. if ( OCEANWP_WOOCOMMERCE_ACTIVE ) { require_once( $dir .'woocommerce.php' ); } // Easy Digital Downloads Settings. if ( OCEANWP_EDD_ACTIVE ) { require_once( $dir .'edd.php' ); } // If LifterLMS is activated. if ( OCEANWP_LIFTERLMS_ACTIVE ) { require_once( $dir .'lifterlms.php' ); } // If LearnDash is activated. if ( OCEANWP_LEARNDASH_ACTIVE ) { require_once( $dir .'learndash.php' ); } } /** * Loads Css files for customizer Panel * * @since 1.0.0 */ public function customize_panel_init() { $settings = wp_parse_args( get_option( 'oe_panels_settings', [] ) ); if ( isset( $settings['customizer-search'] ) && (bool) $settings['customizer-search'] === true ) { wp_enqueue_script( 'oceanwp-customize-search-js', OCEANWP_INC_DIR_URI . 'customizer/assets/js/customize-search.js', array( 'lodash', 'wp-i18n', 'wp-util' ) ); wp_enqueue_style( 'oceanwp-customize-search', OCEANWP_INC_DIR_URI . 'customizer/assets/js/customize-search.css' ); wp_localize_script( 'oceanwp-customize-search-js', 'oceanCustomizerSearchOptions', [ 'darkMode' => get_option( 'oceanCustomizerSearchdarkMode', false ) ] ); } wp_enqueue_script( 'oceanwp-customize-js', OCEANWP_INC_DIR_URI . 'customizer/assets/js/customize.js', array( 'jquery' ) ); wp_enqueue_style( 'oceanwp-customize-preview', OCEANWP_INC_DIR_URI . 'customizer/assets/css/customize-preview.min.css'); } /** * Loads js files for customizer preview * * @since 1.0.0 */ public function customize_preview_init() { wp_enqueue_script( 'oceanwp-customize-preview', OCEANWP_INC_DIR_URI . 'customizer/assets/js/customize-preview.min.js', array( 'customize-preview' ), OCEANWP_THEME_VERSION, true ); // If WooCommerce is activated. if ( OCEANWP_WOOCOMMERCE_ACTIVE ) { wp_enqueue_script( 'oceanwp-woo-customize-preview', OCEANWP_INC_DIR_URI . 'customizer/assets/js/woo-customize-preview.min.js', array( 'customize-preview' ), OCEANWP_THEME_VERSION, true ); } // Easy Digital Downloads Settings. if ( OCEANWP_EDD_ACTIVE ) { wp_enqueue_script( 'oceanwp-edd-customize-preview', OCEANWP_INC_DIR_URI . 'customizer/assets/js/edd-customize-preview.min.js', array( 'customize-preview' ), OCEANWP_THEME_VERSION, true ); } // If LifterLMS is activated. if ( OCEANWP_LIFTERLMS_ACTIVE ) { wp_enqueue_script( 'oceanwp-llms-customize-preview', OCEANWP_INC_DIR_URI . 'customizer/assets/js/llms-customize-preview.min.js', array( 'customize-preview' ), OCEANWP_THEME_VERSION, true ); } // If LearnDash is activated. if ( OCEANWP_LEARNDASH_ACTIVE ) { wp_enqueue_script( 'oceanwp-ld-customize-preview', OCEANWP_INC_DIR_URI . 'customizer/assets/js/ld-customize-preview.min.js', array( 'customize-preview' ), OCEANWP_THEME_VERSION, true ); } } /** * Load scripts for customizer * * @since 1.0.0 */ public function custom_customize_enqueue() { wp_enqueue_style( 'font-awesome', OCEANWP_THEME_URI .'/assets/fonts/fontawesome/css/all.min.css', false, '5.11.2' ); wp_enqueue_style( 'simple-line-icons', OCEANWP_INC_DIR_URI .'customizer/assets/css/customizer-simple-line-icons.min.css', false, '2.4.0' ); wp_enqueue_style( 'oceanwp-general', OCEANWP_INC_DIR_URI . 'customizer/assets/min/css/general.min.css' ); wp_enqueue_script( 'oceanwp-general', OCEANWP_INC_DIR_URI . 'customizer/assets/min/js/general.min.js', array( 'jquery', 'customize-base' ), false, true ); if ( is_rtl() ) { wp_enqueue_style( 'oceanwp-controls-rtl', OCEANWP_INC_DIR_URI . 'customizer/assets/min/css/rtl.min.css' ); } } } endif; return new OceanWP_Customizer();