????
| Current Path : /home2/morganrand/www/wp-content/themes/wanderfuls-2/framework/ |
| Current File : /home2/morganrand/www/wp-content/themes/wanderfuls-2/framework/header-functions.php |
<?php
/**
* Site Header Helper Functions
*
* @package Wanderfuls WordPress Theme
* @subpackage Framework
*/
/**
* Returns page header overlay logo
*
* @since 2.0.0
*/
function tb_header_overlay_logo() {
// Return false if disabled
if ( ! tb_global_obj( 'has_overlay_header' ) ) {
return false;
}
// No custom overlay logo by default
$logo = false;
// Get logo via custom field
$logo = get_post_meta( tb_global_obj( 'post_id' ), 'tb_overlay_header_logo', true );
// Check old method
if ( is_array( $logo ) ) {
if ( ! empty( $logo['url'] ) ) {
$logo = $logo['url'];
} else {
$logo = false;
}
}
// Apply filters for child theming
$logo = apply_filters( 'tb_header_overlay_logo', $logo );
// Sanitize URL
if ( is_numeric( $logo ) ) {
$logo = wp_get_attachment_image_src( $logo, 'full' );
$logo = $logo[0];
} else {
$logo = esc_url( $logo );
}
// Return logo
return $logo;
}
/**
* Add classes to the header wrap
*
* @since 1.5.3
*/
function tb_header_classes() {
// Vars
$header_style = tb_global_obj( 'header_style' );
// Setup classes array
$classes = array();
// Main header style
$classes['header_style'] = 'header-'. $header_style;
// Full width header
if ( tb_get_mod( 'full_width_header' ) ) {
$classes[] = 'tb-full-width';
}
// Sticky Header
if ( tb_global_obj( 'has_fixed_header' )
&& ( 'one' == $header_style || 'five' == $header_style )
) {
$classes['fixed_scroll'] = 'fixed-scroll';
// Shrink header
if ( tb_global_obj( 'shrink_fixed_header' ) ) {
$classes['tb-shrink-sticky-header'] = 'tb-shrink-sticky-header';
}
}
// Reposition cart and search dropdowns
if ( 'three' == $header_style || 'five' == $header_style ) {
$classes[] = 'tb-reposition-cart-search-drops';
}
// Dropdown style (must be added here so we can target shop/search dropdowns)
if ( $dropdown_style = tb_get_mod( 'menu_dropdown_style' ) ) {
$classes['tb-dropdown-style-'. $dropdown_style] = 'tb-dropdown-style-'. $dropdown_style;
}
// Header Overlay Style
if ( tb_global_obj( 'has_overlay_header' ) ) {
// Dark dropdowns for overlay header
unset( $classes['tb-dropdown-style-'. $dropdown_style] );
$classes[] = 'tb-dropdown-style-black';
// Remove fixed scroll class
if ( tb_global_obj( 'has_top_bar' ) ) {
unset( $classes['fixed_scroll'] );
unset( $classes['tb-shrink-sticky-header'] );
}
// Add overlay header class
$classes[] = 'overlay-header';
// Add a fixed class for the overlay-header style only
if ( tb_global_obj( 'has_fixed_header' ) ) {
$classes[] = 'fix-overlay-header';
}
// Add overlay header class
$classes[] = 'overlay-header';
// Add overlay header style class
$overlay_style = tb_global_obj( 'header_overlay_style' );
$overlay_style = $overlay_style ? $overlay_style : 'light';
$classes[] = $overlay_style .'-style';
}
// Clearfix class
$classes[] = 'clr';
// Set keys equal to vals
$classes = array_combine( $classes, $classes );
// Apply filters for child theming
$classes = apply_filters( 'tb_header_classes', $classes );
// Turn classes into space seperated string
$classes = implode( ' ', $classes );
// return classes
return $classes;
}
/**
* Returns header logo icon
*
* @since 2.0.0
*/
function tb_header_logo_icon() {
// Get logo img from admin panel
$icon = tb_get_mod( 'logo_icon' );
// Apply filter for child theming
$icon = apply_filters( 'tb_header_logo_icon', $icon );
// Return icon
if ( $icon && 'none' != $icon ) {
return '<span id="site-logo-fa-icon" class="fa fa-'. $icon .'"></span>';
} else {
return NULL;
}
}
/**
* Returns header logo title
*
* @since 2.0.0
*/
function tb_header_logo_title() {
$title = get_bloginfo( 'name' );
$title = apply_filters( 'tb_logo_title', $title );
return $title;
}
/**
* Returns header logo URL
*
* @since 2.0.0
*/
function tb_header_logo_url() {
$url = esc_url( home_url( '/' ) );
$url = apply_filters( 'tb_logo_url', $url );
return $url;
}
/**
* Header logo classes
*
* @since 2.0.0
*/
function tb_header_logo_classes() {
// Define classes array
$classes = array( 'site-branding', 'clr' );
// Default class
$classes[] = 'header-'. tb_global_obj( 'header_style' ) .'-logo';
// Get custom overlay logo
if ( tb_global_obj( 'has_overlay_header' ) && tb_header_overlay_logo() ) {
$classes[] = 'has-overlay-logo';
}
// Apply filters for child theming
$classes = apply_filters( 'tb_header_logo_classes', $classes );
// Turn classes into space seperated string
$classes = implode( ' ', $classes );
// Return classes
return $classes;
}
/**
* Adds js for the retina logo
*
* @since 1.1.0
*/
function tb_retina_logo() {
// Get theme options
$logo_url = tb_get_mod( 'retina_logo' );
$logo_height = tb_get_mod( 'retina_logo_height' );
// Translate theme mods
$logo_url = tb_translate_theme_mod( 'retina_logo', $logo_url );
$logo_height = tb_translate_theme_mod( 'retina_logo_height', $logo_height );
// Header overlay Retina logo
if ( tb_header_overlay_logo() && tb_global_obj( 'has_overlay_header' ) ) {
$post_id = tb_global_obj( 'post_id' );
$overlay_retina_logo = get_post_meta( $post_id, 'tb_overlay_header_logo_retina', true );
$overlay_retina_logo_height = get_post_meta( $post_id, 'tb_overlay_header_logo_retina_height', true );
if ( $overlay_retina_logo && $overlay_retina_logo_height ) {
if ( is_numeric( $overlay_retina_logo ) ) {
$overlay_retina_logo = wp_get_attachment_image_src( $overlay_retina_logo, 'full' );
$overlay_retina_logo = $overlay_retina_logo[0];
} else {
$overlay_retina_logo = esc_url( $overlay_retina_logo );
}
if ( $overlay_retina_logo ) {
$logo_url = $overlay_retina_logo;
$logo_height = $overlay_retina_logo_height;
}
}
}
// Apply filters
$logo_url = apply_filters( 'tb_retina_logo_url', $logo_url );
$logo_height = apply_filters( 'tb_retina_logo_height', $logo_height );
// Output JS for retina logo
if ( $logo_url && $logo_height ) {
$output = '<!-- Retina Logo -->
<script type="text/javascript">
var $tbRetinaLogo = "'. $logo_url .'",
$tbRetinaLogoHeight = "'. intval( $logo_height ) .'";
jQuery(function($){
if ( window.devicePixelRatio >= 2 ) {
$("#site-logo img").attr("src", "'. $logo_url .'");
$("#site-logo img").css("max-height", "'. intval( $logo_height ) .'px");
}
});
</script>';
echo $output;
}
}
add_action( 'wp_head', 'tb_retina_logo' );