366 lines
10 KiB
PHP
366 lines
10 KiB
PHP
<?php
|
|
// Exit if accessed directly.
|
|
if ( ! defined( 'DGWT_WCAS_FILE' ) ) {
|
|
exit;
|
|
}
|
|
|
|
// Change mobile breakpoint
|
|
add_filter( 'dgwt/wcas/scripts/mobile_overlay_breakpoint', function () {
|
|
$mobile_menu_breakpoint = get_theme_mod( 'ocean_mobile_menu_breakpoints', '959' );
|
|
$mobile_menu_custom_breakpoint = get_theme_mod( 'ocean_mobile_menu_custom_breakpoint' );
|
|
|
|
if ( $mobile_menu_breakpoint === 'custom' && ! empty( $mobile_menu_custom_breakpoint ) ) {
|
|
$mobile_menu_breakpoint = $mobile_menu_custom_breakpoint;
|
|
}
|
|
|
|
return $mobile_menu_breakpoint;
|
|
} );
|
|
|
|
add_filter( 'get_search_form', function ( $form, $args ) {
|
|
// Used when search style is "Drop down" and on 404 page.
|
|
return do_shortcode( '[fibosearch]' );
|
|
}, 10, 2 );
|
|
|
|
add_action( 'wp', function () {
|
|
// Mobile search - icon in menu.
|
|
if (
|
|
! function_exists( 'oceanwp_mobile_menu_search_style' ) ||
|
|
! function_exists( 'oceanwp_header_style' )
|
|
) {
|
|
return;
|
|
}
|
|
|
|
$search_style = oceanwp_mobile_menu_search_style(); // Search Icon Style.
|
|
$search_style = $search_style ?: 'disabled';
|
|
$header_style = oceanwp_header_style();
|
|
|
|
if ( $search_style === 'disabled' || $header_style === 'vertical' ) {
|
|
return;
|
|
}
|
|
|
|
remove_action( 'ocean_after_mobile_icon', 'oceanwp_mobile_search_icon' );
|
|
remove_action( 'ocean_mobile_menu_icon_after', 'oceanwp_mobile_search_form_html' );
|
|
|
|
add_action( 'ocean_after_mobile_icon', function () {
|
|
// Placeholders to prevent JS errors.
|
|
echo '<span class="search-icon-dropdown"></span>';
|
|
echo '<span class="search-style-dropdown"></span>';
|
|
echo do_shortcode( '[fibosearch layout="icon"]' );
|
|
} );
|
|
|
|
add_action( 'wp_footer', function () {
|
|
$headerHeight = get_theme_mod( 'ocean_header_height', '74' );
|
|
?>
|
|
<style>
|
|
.oceanwp-mobile-menu-icon .dgwt-wcas-search-wrapp {
|
|
display: inline-block;
|
|
margin-left: 12px;
|
|
}
|
|
|
|
.oceanwp-mobile-menu-icon .dgwt-wcas-search-wrapp .icon-magnifier {
|
|
color: #555;
|
|
font-size: 13px;
|
|
line-height: <?php echo esc_attr($headerHeight); ?>px;
|
|
}
|
|
|
|
.oceanwp-mobile-menu-icon .dgwt-wcas-search-wrapp:hover .icon-magnifier {
|
|
color: #13aff0;
|
|
}
|
|
</style>
|
|
<?php
|
|
} );
|
|
|
|
add_filter( 'dgwt/wcas/form/magnifier_ico', function ( $html, $class ) {
|
|
if ( $class === 'dgwt-wcas-ico-magnifier-handler' ) {
|
|
$html = '<i class=" icon-magnifier" aria-hidden="true" role="img"></i>';
|
|
}
|
|
|
|
return $html;
|
|
}, 10, 2 );
|
|
}, 20 );
|
|
|
|
add_action( 'wp_head', function () {
|
|
if ( ! function_exists( 'oceanwp_header_style' ) ) {
|
|
return;
|
|
}
|
|
$headerStyle = oceanwp_header_style();
|
|
|
|
// Hide default search before overwrite.
|
|
if ( $headerStyle === 'medium' ) {
|
|
?>
|
|
<style>
|
|
#site-header.medium-header #medium-searchform > form {
|
|
display: none;
|
|
}
|
|
</style>
|
|
<?php
|
|
} else if ( $headerStyle === 'vertical' ) {
|
|
?>
|
|
<style>
|
|
#vertical-searchform > form {
|
|
display: none;
|
|
}
|
|
</style>
|
|
<?php
|
|
}
|
|
} );
|
|
|
|
add_action( 'wp_footer', function () {
|
|
if (
|
|
! function_exists( 'oceanwp_menu_search_style' ) ||
|
|
! function_exists( 'oceanwp_header_style' ) ||
|
|
! function_exists( 'oceanwp_mobile_menu_style' )
|
|
) {
|
|
return;
|
|
}
|
|
|
|
$menuSearchStyle = oceanwp_menu_search_style();
|
|
$headerStyle = oceanwp_header_style();
|
|
|
|
$mobileMenuStyle = oceanwp_mobile_menu_style(); // Mobile Menu Style.
|
|
$mobileMenuSearch = get_theme_mod( 'ocean_mobile_menu_search', true ); // MOBILE MENU SEARCH.
|
|
|
|
// Search styles - desktop.
|
|
if ( $menuSearchStyle === 'drop_down' ) {
|
|
// Drop down.
|
|
?>
|
|
<script>
|
|
var desktopSearchInput = document.querySelector('#searchform-dropdown .dgwt-wcas-search-input');
|
|
if (desktopSearchInput !== null) {
|
|
// This class is used to focus input.
|
|
desktopSearchInput.classList.add('field');
|
|
}
|
|
</script>
|
|
<?php
|
|
} else if ( $menuSearchStyle === 'overlay' ) {
|
|
// Overlay.
|
|
echo '<div id="dgwt-wcas-desktop-search" style="display: none;"><div>' . do_shortcode( '[fibosearch]' ) . '<a href="#" class="search-overlay-close"><span></span></a></div></div>';
|
|
?>
|
|
<script>
|
|
var desktopSearch = document.querySelector('#searchform-overlay > div > form');
|
|
if (desktopSearch !== null) {
|
|
desktopSearch.replaceWith(document.querySelector('#dgwt-wcas-desktop-search > div'));
|
|
}
|
|
document.querySelector('#dgwt-wcas-desktop-search').remove();
|
|
</script>
|
|
<style>
|
|
#searchform-overlay a.search-overlay-close {
|
|
top: 15% !important;
|
|
}
|
|
|
|
#searchform-overlay form {
|
|
position: static;
|
|
margin-top: 0;
|
|
}
|
|
|
|
#searchform-overlay .dgwt-wcas-search-wrapp {
|
|
max-width: none;
|
|
position: absolute;
|
|
top: 30%;
|
|
text-align: left;
|
|
}
|
|
|
|
.dgwt-wcas-details-wrapp {
|
|
z-index: 9999 !important;
|
|
}
|
|
|
|
#searchform-overlay form input {
|
|
z-index: inherit;
|
|
}
|
|
|
|
#searchform-overlay .dgwt-wcas-no-submit .dgwt-wcas-ico-magnifier {
|
|
fill: #fff;
|
|
}
|
|
|
|
#searchform-overlay .dgwt-wcas-voice-search path {
|
|
fill: #fff;
|
|
}
|
|
</style>
|
|
<?php
|
|
} else if ( $menuSearchStyle === 'header_replace' ) {
|
|
// Header replace.
|
|
echo '<div id="dgwt-wcas-desktop-search" style="display: none;">' . do_shortcode( '[fibosearch]' ) . '</div>';
|
|
?>
|
|
<script>
|
|
var desktopSearch = document.querySelector('#searchform-header-replace > form');
|
|
if (desktopSearch !== null) {
|
|
desktopSearch.replaceWith(document.querySelector('#dgwt-wcas-desktop-search > div'));
|
|
}
|
|
document.querySelector('#dgwt-wcas-desktop-search').remove();
|
|
</script>
|
|
<style>
|
|
#searchform-header-replace {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
#searchform-header-replace input {
|
|
padding: 10px 15px 10px 40px;
|
|
width: 100%;
|
|
font-size: inherit;
|
|
}
|
|
|
|
#searchform-header-replace .dgwt-wcas-search-wrapp {
|
|
margin-right: 40px;
|
|
}
|
|
</style>
|
|
<?php
|
|
}
|
|
|
|
// Mobile menu.
|
|
if ( $mobileMenuSearch ) {
|
|
// Menu style - dropdown.
|
|
if ( $mobileMenuStyle === 'dropdown' ) {
|
|
echo '<div id="dgwt-wcas-mobile-search" style="display: none;">' . do_shortcode( '[fibosearch]' ) . '</div>';
|
|
?>
|
|
<script>
|
|
var mobileSearch = document.querySelector('#mobile-menu-search > form');
|
|
if (mobileSearch !== null) {
|
|
mobileSearch.replaceWith(document.querySelector('#dgwt-wcas-mobile-search > div'));
|
|
}
|
|
document.querySelector('#dgwt-wcas-mobile-search').remove();
|
|
</script>
|
|
<style>
|
|
#mobile-dropdown #mobile-menu-search form input {
|
|
padding: 10px 15px 10px 40px !important;
|
|
}
|
|
</style>
|
|
<?php
|
|
} else if ( $mobileMenuStyle === 'sidebar' ) {
|
|
// Menu style - sidebar.
|
|
echo '<div id="dgwt-wcas-mobile-search" style="display: none;">' . do_shortcode( '[fibosearch]' ) . '</div>';
|
|
?>
|
|
<script>
|
|
(function ($) {
|
|
$(window).on('load', function () {
|
|
var mobileSearch = document.querySelector('#sidr .sidr-class-mobile-searchform');
|
|
if (mobileSearch !== null) {
|
|
mobileSearch.replaceWith(document.querySelector('#dgwt-wcas-mobile-search > div'));
|
|
}
|
|
document.querySelector('#dgwt-wcas-mobile-search').remove();
|
|
});
|
|
}(jQuery));
|
|
</script>
|
|
<style>
|
|
#sidr .sidr-class-mobile-searchform input {
|
|
padding: 10px 15px 10px 40px !important;
|
|
}
|
|
|
|
#sidr .dgwt-wcas-search-wrapp {
|
|
padding: 0 20px;
|
|
margin-top: 20px;
|
|
}
|
|
</style>
|
|
<?php
|
|
} else if ( $mobileMenuStyle === 'fullscreen' ) {
|
|
// Menu style - full screen.
|
|
echo '<div id="dgwt-wcas-mobile-search" style="display: none;">' . do_shortcode( '[fibosearch]' ) . '</div>';
|
|
?>
|
|
<script>
|
|
var mobileSearch = document.querySelector('#mobile-fullscreen #mobile-search > form');
|
|
if (mobileSearch !== null) {
|
|
mobileSearch.replaceWith(document.querySelector('#dgwt-wcas-mobile-search > div'));
|
|
}
|
|
document.querySelector('#dgwt-wcas-mobile-search').remove();
|
|
</script>
|
|
<style>
|
|
#mobile-fullscreen #mobile-search input {
|
|
padding: 10px 15px 10px 40px !important;
|
|
font-size: 16px;
|
|
}
|
|
|
|
#mobile-fullscreen #mobile-search {
|
|
margin: 0 auto;
|
|
max-width: 280px;
|
|
}
|
|
|
|
#mobile-fullscreen #mobile-search .dgwt-wcas-ico-magnifier {
|
|
fill: #fff;
|
|
}
|
|
|
|
#mobile-fullscreen #mobile-search .dgwt-wcas-voice-search path {
|
|
fill: #fff;
|
|
}
|
|
</style>
|
|
<?php
|
|
}
|
|
}
|
|
|
|
// Header styles.
|
|
if ( $headerStyle === 'medium' ) {
|
|
echo '<div id="dgwt-wcas-desktop-search-medium" style="display: none;">' . do_shortcode( '[fibosearch]' ) . '</div>';
|
|
?>
|
|
<script>
|
|
var desktopSearch = document.querySelector('#medium-searchform form');
|
|
if (desktopSearch !== null) {
|
|
desktopSearch.replaceWith(document.querySelector('#dgwt-wcas-desktop-search-medium > div'));
|
|
}
|
|
document.querySelector('#dgwt-wcas-desktop-search-medium').remove();
|
|
</script>
|
|
<style>
|
|
#site-header.medium-header #medium-searchform input {
|
|
padding: 10px 15px 10px 40px;
|
|
border: 1px solid #ddd;
|
|
max-width: 100%;
|
|
}
|
|
|
|
#site-header.medium-header #medium-searchform input:focus {
|
|
max-width: 100%;
|
|
}
|
|
|
|
#site-header.medium-header .dgwt-wcas-search-wrapp {
|
|
max-width: 200px;
|
|
}
|
|
</style>
|
|
<?php
|
|
} else if ( $headerStyle === 'vertical' ) {
|
|
echo '<div id="dgwt-wcas-desktop-search-vertical" style="display: none;">' . do_shortcode( '[fibosearch]' ) . '</div>';
|
|
?>
|
|
<script>
|
|
var desktopSearch = document.querySelector('#vertical-searchform form');
|
|
if (desktopSearch !== null) {
|
|
desktopSearch.replaceWith(document.querySelector('#dgwt-wcas-desktop-search-vertical > div'));
|
|
}
|
|
document.querySelector('#dgwt-wcas-desktop-search-vertical').remove();
|
|
</script>
|
|
<style>
|
|
#site-header.vertical-header #vertical-searchform form input {
|
|
padding: 10px 15px 10px 40px;
|
|
width: 100%;
|
|
font-size: inherit;
|
|
z-index: inherit;
|
|
}
|
|
</style>
|
|
<?php
|
|
} else if ( $headerStyle === 'full_screen' ) {
|
|
echo '<div id="dgwt-wcas-desktop-search-full-screen" style="display: none;">' . do_shortcode( '[fibosearch]' ) . '</div>';
|
|
?>
|
|
<script>
|
|
var desktopSearch = document.querySelector('#full-screen-menu .search-toggle-li > form');
|
|
if (desktopSearch !== null) {
|
|
desktopSearch.replaceWith(document.querySelector('#dgwt-wcas-desktop-search-full-screen > div'));
|
|
}
|
|
document.querySelector('#dgwt-wcas-desktop-search-full-screen').remove();
|
|
</script>
|
|
<style>
|
|
#site-header.full_screen-header .fs-dropdown-menu > li.search-toggle-li {
|
|
max-width: 350px;
|
|
}
|
|
|
|
#site-header.full_screen-header .fs-dropdown-menu > li.search-toggle-li input {
|
|
padding: 10px 15px 10px 40px;
|
|
z-index: inherit;
|
|
}
|
|
|
|
#full-screen-menu .search-toggle-li .dgwt-wcas-ico-magnifier {
|
|
fill: #fff;
|
|
}
|
|
|
|
#full-screen-menu .search-toggle-li .dgwt-wcas-voice-search path {
|
|
fill: #fff;
|
|
}
|
|
</style>
|
|
<?php
|
|
}
|
|
} );
|