/** * Returns logo <img> tag or empty string if something gone wrong. * @since 3.0.0 * @param array $logos * @param string $class * @return string */ function presscore_get_logo_image($logos = array(), $class = '') { $default_logo = null; if (!is_array($logos)) { $logos = array($logos); } // get default logo foreach ($logos as $logo) { if ($logo) { $default_logo = $logo; break; } } if (empty($default_logo)) { return ''; } $alt = esc_attr(get_bloginfo('name')); if (presscore_is_srcset_based_retina() || presscore_is_logos_only_retina()) { $logo = presscore_get_image_with_srcset($logos['logo'], $logos['logo_retina'], $default_logo, ' alt="' . $alt . '"', $class); } else { $logo = dt_get_retina_sensible_image($logos['logo'], $logos['logo_retina'], $default_logo, ' alt="' . $alt . '"', $class); } return $logo; }
function presscore_body_class($classes) { $config = Presscore_Config::get_instance(); $desc_on_hoover = 'under_image' != $config->get('post.preview.description.style'); $template = $config->get('template'); $layout = $config->get('layout'); /////////////////////// // template classes // /////////////////////// switch ($template) { case 'blog': $classes[] = 'blog'; break; case 'portfolio': $classes[] = 'portfolio'; break; case 'team': $classes[] = 'team'; break; case 'testimonials': $classes[] = 'testimonials'; break; case 'archive': $classes[] = 'archive'; break; case 'search': $classes[] = 'search'; break; case 'albums': $classes[] = 'albums'; break; case 'media': $classes[] = 'media'; break; case 'microsite': $classes[] = 'one-page-row'; break; } ///////////////////// // layout classes // ///////////////////// switch ($layout) { case 'masonry': if ($desc_on_hoover) { $classes[] = 'layout-masonry-grid'; } else { $classes[] = 'layout-masonry'; } break; case 'grid': $classes[] = 'layout-grid'; if ($desc_on_hoover) { $classes[] = 'grid-text-hovers'; } break; case 'checkerboard': case 'list': case 'right_list': $classes[] = 'layout-list'; break; } //////////////////// // hover classes // //////////////////// if (in_array($layout, array('masonry', 'grid')) && !in_array($template, array('testimonials', 'team'))) { $classes[] = $desc_on_hoover ? 'description-on-hover' : 'description-under-image'; } ////////////////////////////////////// // hide dividers if content is off // ////////////////////////////////////// if (in_array($config->get('template'), array('albums', 'portfolio')) && 'masonry' == $config->get('layout')) { $show_dividers = $config->get('show_titles') || $config->get('show_details') || $config->get('show_excerpts') || $config->get('show_terms') || $config->get('show_links'); if (!$show_dividers) { $classes[] = 'description-off'; } } ///////////////////// // single classes // ///////////////////// if (is_single() && (post_password_required() || !comments_open() && '0' == get_comments_number())) { $classes[] = 'no-comments'; } //////////////////////// // header background // //////////////////////// if (presscore_mixed_header_with_top_line()) { $classes[] = 'header-top-line-active'; } if (presscore_header_with_bg() && (presscore_mixed_header_with_top_line() || !presscore_header_layout_is_side())) { switch ($config->get('header_background')) { case 'overlap': $classes['header_background'] = 'overlap'; break; case 'transparent': $classes['header_background'] = 'transparent'; if ('light' === $config->get('header.transparent.color_scheme')) { $classes[] = 'light-preset-color'; } break; } if ($config->get_bool('header.slideshow.header_below') && 'slideshow' === $config->get('header_title') && in_array($config->get('header_background'), array('transparent', 'normal'))) { $classes[] = 'floating-navigation-below-slider'; } } /////////////////// // header title // /////////////////// if ('fancy' == $config->get('header_title')) { $classes[] = 'fancy-header-on'; } elseif ('slideshow' == $config->get('header_title')) { $classes[] = 'slideshow-on'; if ('3d' == $config->get('slideshow_mode') && 'fullscreen-content' == $config->get('slideshow_3d_layout')) { $classes[] = 'threed-fullscreen'; } if (dt_get_paged_var() > 1 && isset($classes['header_background'])) { unset($classes['header_background']); } } elseif (is_single() && 'disabled' == $config->get('header_title')) { $classes[] = 'title-off'; } /////////////////// // hover style // /////////////////// switch ($config->get('template.images.hover.style')) { case 'grayscale': $classes[] = 'filter-grayscale-static'; break; case 'gray_color': $classes[] = 'filter-grayscale'; break; case 'blur': $classes[] = 'image-blur'; break; case 'scale': $classes[] = 'scale-on-hover'; break; } // default hover icons switch ($config->get('template.images.hover.icon')) { case 'none': $classes[] = 'disabled-hover-icons'; break; case 'small_corner': $classes[] = 'small-hover-icons'; break; case 'big_center': $classes[] = 'large-hover-icons'; break; } if ($config->get('template.images.hover.animation')) { $classes[] = 'click-effect-on-img'; } //////////// // boxed // //////////// if ('boxed' == $config->get('template.layout')) { $classes[] = 'boxed-layout'; } ///////////////////// // responsiveness // ///////////////////// if (!presscore_responsive()) { $classes[] = 'responsive-off'; } ///////////////////// // justified grid // ///////////////////// if ($config->get('justified_grid')) { $classes[] = 'justified-grid'; } //////////////////// // header layout // //////////////////// switch ($config->get('header.position')) { case 'right': $classes[] = 'header-side-right'; break; case 'left': $classes[] = 'header-side-left'; break; } switch ($config->get('header.layout')) { case 'slide_out': $classes[] = 'sticky-header'; break; case 'overlay': $classes[] = 'overlay-navigation'; break; } switch ($config->get('header.layout.slide_out.animation')) { case 'fade': $classes[] = 'fade-header-animation'; break; case 'move': $classes[] = 'move-header-animation'; break; case 'slide': $classes[] = 'slide-header-animation'; break; } if ('side_line' === $config->get('header.mixed.view')) { $classes[] = 'header-side-line'; switch ($config->get('header.mixed.view.side_line.position')) { case 'above': $classes[] = 'header-above-side-line'; break; case 'under': $classes[] = 'header-under-side-line'; break; } } if ($config->get('header.layout.slide_out.x_cursor.enabled')) { $classes[] = 'overlay-cursor-on'; } ////////////////////// // accent gradient // ////////////////////// if ('gradient' == $config->get('template.accent.color.mode')) { $classes[] = 'accent-gradient'; } ////////////////////////////// // srcset based hd images // ////////////////////////////// if (presscore_is_srcset_based_retina() || presscore_is_logos_only_retina()) { $classes[] = 'srcset-enabled'; } /////////////// // buttons // /////////////// // buttons style switch ($config->get('buttons.style')) { case '3d': $classes[] = 'btn-3d'; break; case 'flat': $classes[] = 'btn-flat'; break; case 'material': $classes[] = 'btn-material'; break; case 'ios7': default: $classes[] = 'btn-ios'; break; } // buttons text color switch ($config->get('buttons.text.color')) { case 'accent': $classes[] = 'accent-btn-color'; break; case 'color': $classes[] = 'custom-btn-color'; break; } // buttons hover text color switch ($config->get('buttons.hover.text.color')) { case 'accent': $classes[] = 'accent-btn-hover-color'; break; case 'color': $classes[] = 'custom-btn-hover-color'; break; } if ($config->get('template.footer.background.slideout_mode')) { $classes[] = 'footer-overlap'; } //////////////////////// // content boxes bg // //////////////////////// switch ($config->get('template.content.boxes.background.decoration')) { case 'shadow': $classes[] = 'shadow-element-decoration'; break; case 'outline': $classes[] = 'outline-element-decoration'; break; } //////////////////// // filter style // //////////////////// switch ($config->get('template.posts_filter.style')) { case 'ios': $classes[] = 'filter-style-ios'; break; case 'minimal': $classes[] = 'filter-style-minimal'; break; case 'material': $classes[] = 'filter-style-material'; break; } ////////////////////////// // contact form style // ////////////////////////// switch ($config->get('template.contact_form.style')) { case 'ios': $classes[] = 'contact-form-ios'; break; case 'minimal': $classes[] = 'contact-form-minimal'; break; case 'material': $classes[] = 'contact-form-material'; break; } /////////////////////// // fancy date size // /////////////////////// if ('small' == $config->get('post.fancy_date.size')) { $classes[] = 'small-fancy-datas'; } else { $classes[] = 'large-fancy-datas'; } if ($config->get_bool('header.layout.slide_out.blur.enabled')) { $classes[] = 'blur-page'; } /////////////////////////////// // slideshow bullets style // /////////////////////////////// switch ($config->get('slideshow.bullets.style')) { case 'transparent': $classes[] = 'semitransparent-bullets'; break; case 'accent': $classes[] = 'accent-bullets'; break; case 'outline': $classes[] = 'outlines-bullets'; break; } /////////////////// // icons style // /////////////////// switch ($config->get('template.icons.style')) { case 'bold': $classes[] = 'bold-icons'; break; case 'light': $classes[] = 'light-icons'; break; } ///////////////////// // floating menu // ///////////////////// if ($config->get('header.floating_navigation.enabled')) { $classes[] = presscore_array_value($config->get('header.floating_navigation.style'), array('fade' => 'phantom-fade', 'slide' => 'phantom-slide', 'sticky' => 'phantom-sticky')); $classes[] = presscore_array_value($config->get('header.floating_navigation.decoraion'), array('disabled' => 'phantom-disable-decoration', 'shadow' => 'phantom-shadow-decoration', 'line' => 'phantom-line-decoration')); $classes[] = presscore_array_value($config->get('header.floating_navigation.logo.style'), array('custom' => 'phantom-custom-logo-on', 'main' => 'phantom-main-logo-on', 'none' => 'phantom-logo-off')); } $classes[] = presscore_array_value($config->get('header.mobile.floatin_navigation'), array('sticky' => 'sticky-mobile-header', 'menu_icon' => 'floating-mobile-menu-icon')); //////////////////////////////////// // Sidebar and footer on mobile // //////////////////////////////////// if ('disabled' != $config->get('sidebar_position') && $config->get('sidebar_hide_on_mobile')) { $classes[] = 'mobile-hide-sidebar'; } if ($config->get('footer_show') && $config->get('footer_hide_on_mobile')) { $classes[] = 'mobile-hide-footer'; } if (in_array($config->get('header.layout'), array('classic', 'inline', 'split'))) { $classes[] = 'top-header'; } // mobile logo $classes[] = presscore_array_value($config->get('header.mobile.logo.first_switch.layout'), array('left_right' => 'first-switch-logo-right first-switch-menu-left', 'left_center' => 'first-switch-logo-center first-switch-menu-left', 'right_left' => 'first-switch-logo-left first-switch-menu-right', 'right_center' => 'first-switch-logo-center first-switch-menu-right')); $classes[] = presscore_array_value($config->get('header.mobile.logo.second_switch.layout'), array('left_right' => 'second-switch-logo-right second-switch-menu-left', 'left_center' => 'second-switch-logo-center second-switch-menu-left', 'right_left' => 'second-switch-logo-left second-switch-menu-right', 'right_center' => 'second-switch-logo-center second-switch-menu-right')); if ('right' === $config->get('header.mobile.menu.align')) { $classes[] = 'right-mobile-menu'; } ///////////// // return // ///////////// return array_values(array_unique($classes)); }
public function render_logo($attributes = array()) { $post_id = get_the_ID(); if (!$post_id) { return ''; } $html = ''; $images = array('normal' => null, 'retina' => null); $image_classes = array(); $esc_title = esc_attr(get_the_title()); $thumb_id = 0; // get featured image if (has_post_thumbnail($post_id)) { $thumb_id = get_post_thumbnail_id($post_id); $images['normal'] = wp_get_attachment_image_src($thumb_id, 'full'); } // get retina image $retina_logo_id = get_post_meta($post_id, '_dt_logo_options_retina_logo', true); if ($retina_logo_id) { $images['retina'] = dt_get_uploaded_logo(array('', $retina_logo_id[0]), 'retina'); } // default image $default_img = null; foreach ($images as $image) { if ($image) { $default_img = $image; break; } } if (!$default_img) { return ''; } if (presscore_shortcode_animation_on($attributes['animation'])) { $image_classes[] = presscore_get_shortcode_animation_html_class($attributes['animation']); } // ninjaaaa! $image_classes = implode(' ', $image_classes); // final image if (presscore_is_srcset_based_retina()) { $image = presscore_get_image_with_srcset($images['normal'], $images['retina'], $default_img, 'alt="' . $esc_title . '"', esc_attr($image_classes)); } else { $image = dt_get_retina_sensible_image($images['normal'], $images['retina'], $default_img, 'alt="' . $esc_title . '"', esc_attr($image_classes)); } // if link not empty - wrap image with it $link = get_post_meta($post_id, '_dt_logo_options_link', true); if ($link) { $image_id = dt_is_hd_device() && isset($retina_logo_id[0]) ? $retina_logo_id[0] : $thumb_id; $esc_caption = ''; $attachment = dt_get_attachment($image_id); if ($attachment) { $esc_caption = esc_attr($attachment['description']); } $link = esc_attr($link); $image = '<a href="' . $link . '" target="_blank" title="' . $esc_caption . '" >' . $image . '</a>'; } // get it all togeather return $image; }
function presscore_body_class($classes) { $config = Presscore_Config::get_instance(); $desc_on_hoover = 'under_image' != $config->get('post.preview.description.style'); $template = $config->get('template'); $layout = $config->get('layout'); /////////////////////// // template classes // /////////////////////// switch ($template) { case 'blog': $classes[] = 'blog'; break; case 'portfolio': $classes[] = 'portfolio'; break; case 'team': $classes[] = 'team'; break; case 'testimonials': $classes[] = 'testimonials'; break; case 'archive': $classes[] = 'archive'; break; case 'search': $classes[] = 'search'; break; case 'albums': $classes[] = 'albums'; break; case 'media': $classes[] = 'media'; break; case 'microsite': $classes[] = 'one-page-row'; break; } ///////////////////// // layout classes // ///////////////////// switch ($layout) { case 'masonry': if ($desc_on_hoover) { $classes[] = 'layout-masonry-grid'; } else { $classes[] = 'layout-masonry'; } break; case 'grid': $classes[] = 'layout-grid'; if ($desc_on_hoover) { $classes[] = 'grid-text-hovers'; } break; case 'checkerboard': case 'list': case 'right_list': $classes[] = 'layout-list'; break; } //////////////////// // hover classes // //////////////////// if (in_array($layout, array('masonry', 'grid')) && !in_array($template, array('testimonials', 'team'))) { $classes[] = $desc_on_hoover ? 'description-on-hover' : 'description-under-image'; } ////////////////////////////////////// // hide dividers if content is off // ////////////////////////////////////// if (in_array($config->get('template'), array('albums', 'portfolio')) && 'masonry' == $config->get('layout')) { $show_dividers = $config->get('show_titles') || $config->get('show_details') || $config->get('show_excerpts') || $config->get('show_terms') || $config->get('show_links'); if (!$show_dividers) { $classes[] = 'description-off'; } } ///////////////////// // single classes // ///////////////////// if (is_single()) { if (post_password_required() || !comments_open() && '0' == get_comments_number()) { $classes[] = 'no-comments'; } $post_type = get_post_type(); if ('dt_gallery' == $post_type && 'photo_scroller' == $config->get('post.media.type')) { $classes[] = 'photo-scroller-album'; } } ///////////////////////////////// // fix single portfolio class // ///////////////////////////////// if (in_array('single-dt_portfolio', $classes)) { $key = array_search('single-dt_portfolio', $classes); $classes[$key] = 'single-portfolio'; } //////////////////////// // header background // //////////////////////// if ('background' == $config->get('page_title.background.mode') || in_array($config->get('header_title'), array('fancy', 'slideshow'))) { switch ($config->get('header_background')) { case 'overlap': $classes['header_background'] = 'overlap'; break; case 'transparent': $classes['header_background'] = 'transparent'; break; } if ('disabled' == $config->get('header.transparent.background.style')) { $classes[] = 'disabled-transparent-bg'; } } /////////////////// // header title // /////////////////// if ('fancy' == $config->get('header_title')) { $classes[] = 'fancy-header-on'; } elseif ('slideshow' == $config->get('header_title')) { $classes[] = 'slideshow-on'; if ('3d' == $config->get('slideshow_mode') && 'fullscreen-content' == $config->get('slideshow_3d_layout')) { $classes[] = 'threed-fullscreen'; } if (dt_get_paged_var() > 1 && isset($classes['header_background'])) { unset($classes['header_background']); } } elseif (is_single() && 'disabled' == $config->get('header_title')) { $classes[] = 'title-off'; } /////////////////// // hover style // /////////////////// switch ($config->get('template.images.hover.style')) { case 'grayscale': $classes[] = 'filter-grayscale-static'; break; case 'gray+color': $classes[] = 'filter-grayscale'; break; case 'blur': $classes[] = 'image-blur'; break; case 'scale': $classes[] = 'scale-on-hover'; break; } //////////// // boxed // //////////// if ('boxed' == $config->get('template.layout')) { $classes[] = 'boxed-layout'; } ///////////////////// // responsiveness // ///////////////////// if (!presscore_responsive()) { $classes[] = 'responsive-off'; } ///////////////////// // justified grid // ///////////////////// if ($config->get('justified_grid')) { $classes[] = 'justified-grid'; } //////////////////// // header layout // //////////////////// if ('side' == $config->get('header.layout')) { switch ($config->get('header.layout.side.menu.position')) { case 'right': $classes[] = 'header-side-right'; break; default: $classes[] = 'header-side-left'; } } ////////////////////// // accent gradient // ////////////////////// if ('gradient' == $config->get('template.accent.color.mode')) { $classes[] = 'accent-gradient'; } ////////////////////////////// // srcset based hd images // ////////////////////////////// if (presscore_is_srcset_based_retina() || presscore_is_logos_only_retina()) { $classes[] = 'srcset-enabled'; } //////////////////// // buttons style // //////////////////// switch ($config->get('buttons.style')) { case '3d': $classes[] = 'btn-3d'; break; case 'flat': $classes[] = 'btn-flat'; break; case 'ios7': default: $classes[] = 'btn-ios'; break; } if ($config->get('template.footer.background.slideout_mode')) { $classes[] = 'footer-overlap'; } ///////////////////// // general style // ///////////////////// switch ($config->get('template.style')) { case 'minimalistic': $classes[] = 'style-minimal'; break; case 'ios7': $classes[] = 'style-ios'; break; } ///////////////////// // floating menu // ///////////////////// if ($config->get('header.floating_menu.show')) { switch ($config->get('floating_menu.animation')) { case 'fade': $classes[] = 'phantom-fade'; break; case 'slide': $classes[] = 'phantom-slide'; break; } } ///////////// // return // ///////////// return array_values(array_unique($classes)); }
function presscore_add_srcsets($args = array()) { if (presscore_is_srcset_based_retina() && !empty($args['options'])) { $args['options']['use_srcset'] = true; } return $args; }
/** * Set some javascript globals for floating menu and logo. * */ function presscore_setup_floating_menu() { $show_logo = of_get_option('general-floating_menu_show_logo', false); $show_menu = of_get_option('header-show_floating_menu', true); $logo_src = ''; $w = ''; $h = ''; if ($show_menu && $show_logo) { $logos = presscore_get_floating_menu_logos_meta(); $default_logo = ''; $r_logo = $logos['logo_retina']; $logo = $logos['logo']; // get default logo foreach ($logos as $logo) { if ($logo) { $default_logo = $logo; break; } } if (presscore_is_srcset_based_retina() || presscore_is_logos_only_retina()) { $logos = array('1x' => $logo, '2x' => $r_logo); $srcset = array(); foreach ($logos as $xx => $_logo) { if (!empty($_logo)) { $srcset[] = "{$_logo[0]} {$xx}"; } } $srcset = implode(', ', $srcset); $logo = $default_logo; $logo[0] = $logo_src = $srcset; $logo_src = esc_attr($logo_src); } else { if ($logo && !$r_logo) { $r_logo = $logo; } elseif ($r_logo && !$logo) { $logo = $r_logo; } elseif (!$r_logo && !$logo) { $logo = $r_logo = $default_logo; } if (dt_retina_on() && dt_is_hd_device()) { $logo = $r_logo; } $logo_src = isset($logo[0]) ? $logo[0] : ''; $logo_src = esc_url($logo_src); } $w = isset($logo[1]) ? $logo[1] : ''; $h = isset($logo[2]) ? $logo[2] : ''; } ?> <script type="text/javascript"> dtGlobals.logoEnabled = <?php echo absint($show_logo); ?> ; dtGlobals.logoURL = '<?php echo $logo_src; ?> '; dtGlobals.logoW = '<?php echo absint($w); ?> '; dtGlobals.logoH = '<?php echo absint($h); ?> '; smartMenu = <?php echo absint($show_menu); ?> ; </script> <?php }
/** * This method render's logo item. * * @param integer $post_id If empty - uses current post id. * * @return string Item html. */ public static function presscore_render_logo($post_id = null) { $post_id = $post_id ? $post_id : get_the_ID(); if (!$post_id) { return ''; } $html = ''; $images = array('normal' => null, 'retina' => null); $esc_title = esc_attr(get_the_title()); // get featured image if (has_post_thumbnail($post_id)) { $thumb_id = get_post_thumbnail_id($post_id); $images['normal'] = wp_get_attachment_image_src($thumb_id, 'full'); } // get retina image $retina_logo_id = get_post_meta($post_id, '_dt_logo_options_retina_logo', true); if ($retina_logo_id) { $images['retina'] = dt_get_uploaded_logo(array('', $retina_logo_id[0]), 'retina'); } // default image $default_img = null; foreach ($images as $image) { if ($image) { $default_img = $image; break; } } if (!$default_img) { return ''; } // final image if (presscore_is_srcset_based_retina()) { $image = presscore_get_image_with_srcset($images['normal'], $images['retina'], $default_img, 'alt="' . $esc_title . '"'); } else { $image = dt_get_retina_sensible_image($images['normal'], $images['retina'], $default_img, 'alt="' . $esc_title . '"'); } // if link not empty - wrap image with it $link = get_post_meta($post_id, '_dt_logo_options_link', true); if ($link) { $link = esc_attr($link); $image = '<a href="' . $link . '" target="_blank" title="' . $esc_title . '" >' . $image . '</a>'; } // get it all togeather return $image; }