File "TheGem.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/cache/.wp-cli/wp-content/plugins/ajax-search-for-woocommerce/includes/Integrations/Themes/TheGem/TheGem.php
File size: 3.42 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace DgoraWcas\Integrations\Themes\TheGem;
use DgoraWcas\Abstracts\ThemeIntegration;
use DgoraWcas\Helpers;
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class TheGem extends ThemeIntegration {
public function extraFunctions() {
add_filter( 'dgwt/wcas/settings', array( $this, 'registerSettingsExtra' ), 20 );
add_action( 'init', function () {
// Header Vertical
remove_filter( 'wp_nav_menu_items', 'thegem_menu_item_search', 10, 2 );
add_filter( 'wp_nav_menu_items', array( $this, 'replaceSearchInMenu' ), 10, 2 );
// Header Fullwidth hamburger
remove_filter( 'wp_nav_menu_items', 'thegem_menu_item_hamburger_widget', 100, 2 );
add_action( 'thegem_before_nav_menu', function () {
if ( in_array( thegem_get_option( 'header_layout' ), array( 'perspective', 'fullwidth_hamburger' ) ) ) {
echo do_shortcode( '[wcas-search-form]' );
}
} );
// Perspective header
remove_filter( 'get_search_form', 'thegem_serch_form_vertical_header' );
add_action( 'thegem_perspective_menu_buttons', function () {
echo do_shortcode( '[wcas-search-form]' );
} );
} );
add_filter( 'get_search_form', array( $this, 'removeSearchBarFromVerticalHeader' ), 100 );
add_action( 'thegem_before_header', array( $this, 'addSearchBarToVerticalHeader' ), 20 );
// Force enabling the option "mobile overlay"
add_filter( 'dgwt/wcas/settings/load_value/key=enable_mobile_overlay', function () {
return 'on';
} );
// Mark that the value of the option "mobile overlay" is forced
add_filter( 'dgwt/wcas/settings/section=form', function ( $settings ) {
$settings[680]['disabled'] = true;
$settings[680]['label'] = Helpers::createOverrideTooltip( 'ovtt-storefront-mobile-overlay', Helpers::getOverrideOptionText( $this->themeName ) ) . $settings[680]['label'];
return $settings;
} );
}
/**
* Add settings
*
* @param array $settings
*
* @return array
*/
public function registerSettingsExtra( $settings ) {
// Remove overlay search from settings because enable mobile overlay will be forced
if ( $this->canReplaceSearch() ) {
unset( $settings['dgwt_wcas_form_body'][1300] );
unset( $settings['dgwt_wcas_form_body'][1400] );
}
return $settings;
}
/**
* Replace the search in main menu
*
* @param $items
* @param $args
*
* @return string
*/
public function replaceSearchInMenu( $items, $args ) {
if ( $args->theme_location == 'primary' && ! thegem_get_option( 'hide_search_icon' ) ) {
$items .= '<li class="menu-item menu-item-search dgwt-wcas-thegem-menu-search">';
$items .= '<a href="#"></a>';
$items .= '<div class="minisearch">';
$items .= do_shortcode( '[wcas-search-form]' );
$items .= '</div>';
$items .= '</li>';
}
return $items;
}
/**
* Remove the search bar from vertical header
*
* @param string $form
*
* @return string
*/
public function removeSearchBarFromVerticalHeader( $form ) {
if ( in_array( thegem_get_option( 'header_layout' ), array( 'fullwidth_hamburger', 'vertical' ) ) ) {
$form = '';
}
return $form;
}
/**
* Remove the search bar from vertical header
*
* @return void
*/
public function addSearchBarToVerticalHeader() {
if ( ! in_array( thegem_get_option( 'header_layout' ), array( 'vertical' ) ) ) {
return;
}
$html = '<div class="dgwt-wcas-thegem-vertical-search">';
$html .= do_shortcode( '[wcas-search-form]' );
$html .= '</div>';
echo $html;
}
}