File: D:/HostingSpaces/MDalebout4/datapeer.nl/wwwroot/wp-content/themes/salient/functions.php
<?php
#-----------------------------------------------------------------#
# Default theme constants
#-----------------------------------------------------------------#
define('NECTAR_FRAMEWORK_DIRECTORY', get_template_directory_uri() . '/nectar/');
define('NECTAR_THEME_NAME', 'salient');
#-----------------------------------------------------------------#
# Load text domain
#-----------------------------------------------------------------#
add_action('after_setup_theme', 'lang_setup');
if ( !function_exists( 'lang_setup' ) ) {
function lang_setup(){
load_theme_textdomain(NECTAR_THEME_NAME, get_template_directory() . '/lang');
}
}
#-----------------------------------------------------------------#
# Register/Enqueue JS
#-----------------------------------------------------------------#
if ( !function_exists( 'get_nectar_theme_version' ) ) {
function nectar_get_theme_version() {
return '9.0.1';
}
}
$options = get_nectar_theme_options();
$nectar_get_template_directory_uri = get_template_directory_uri();
function nectar_register_js() {
global $options;
global $post;
global $nectar_get_template_directory_uri;
$nectar_theme_version = nectar_get_theme_version();
if (!is_admin()) {
// Register
wp_register_script('nectar_priority', $nectar_get_template_directory_uri . '/js/priority.js', 'jquery', $nectar_theme_version, TRUE);
wp_register_script('modernizer', $nectar_get_template_directory_uri . '/js/modernizr.js', 'jquery', '2.6.2', TRUE);
wp_register_script('imagesLoaded', $nectar_get_template_directory_uri . '/js/imagesLoaded.min.js', 'jquery', '4.1.4', TRUE);
wp_register_script('respond', $nectar_get_template_directory_uri . '/js/respond.js', 'jquery', '1.1', TRUE);
wp_register_script('superfish', $nectar_get_template_directory_uri . '/js/superfish.js', 'jquery', '1.4.8', TRUE);
wp_register_script('respond', $nectar_get_template_directory_uri . '/js/respond.js', 'jquery', '1.1',TRUE);
wp_register_script('touchswipe', $nectar_get_template_directory_uri . '/js/touchswipe.min.js', 'jquery', '1.0', TRUE);
wp_register_script('flexslider', $nectar_get_template_directory_uri . '/js/flexslider.min.js', array('jquery', 'touchswipe'), '2.1', TRUE);
wp_register_script('orbit', $nectar_get_template_directory_uri . '/js/orbit.js', 'jquery', '1.4', TRUE);
wp_register_script('flickity', $nectar_get_template_directory_uri . '/js/flickity.min.js', 'jquery', '1.1.1', TRUE);
wp_register_script('nicescroll', $nectar_get_template_directory_uri . '/js/nicescroll.js', 'jquery', '3.5.4' ,TRUE);
wp_register_script('magnific', $nectar_get_template_directory_uri . '/js/magnific.js', 'jquery', '7.0.1', TRUE);
wp_register_script('fancyBox', $nectar_get_template_directory_uri . '/js/jquery.fancybox.min.js', 'jquery', '7.0.1', TRUE);
wp_register_script('nectar_parallax', $nectar_get_template_directory_uri . '/js/parallax.js', 'jquery', '1.0', TRUE);
wp_register_script('isotope', $nectar_get_template_directory_uri . '/js/isotope.min.js', 'jquery', '7.6' ,TRUE);
wp_register_script('select2', $nectar_get_template_directory_uri . '/js/select2.min.js', 'jquery', '3.5.2' ,TRUE);
wp_register_script('nectarSlider', $nectar_get_template_directory_uri . '/js/nectar-slider.js', 'jquery', $nectar_theme_version, TRUE);
wp_register_script('nectar_single_product', $nectar_get_template_directory_uri . '/js/nectar-single-product.js', 'jquery', $nectar_theme_version, TRUE);
wp_register_script('fullPage', $nectar_get_template_directory_uri . '/js/jquery.fullPage.min.js', 'jquery', $nectar_theme_version, TRUE);
wp_register_script('vivus', $nectar_get_template_directory_uri . '/js/vivus.min.js', 'jquery', '6.0.1', TRUE);
wp_register_script('nectarParticles', $nectar_get_template_directory_uri . '/js/nectar-particles.js', 'jquery', $nectar_theme_version, TRUE);
wp_register_script('ajaxify', $nectar_get_template_directory_uri . '/js/ajaxify.js', 'jquery', $nectar_theme_version, TRUE);
wp_register_script('caroufredsel', $nectar_get_template_directory_uri . '/js/caroufredsel.min.js', array('jquery', 'touchswipe'), '7.0.1', TRUE);
wp_register_script('owl_carousel', $nectar_get_template_directory_uri . '/js/owl.carousel.min.js', 'jquery', '1.3.3', TRUE);
wp_register_script('leaflet', $nectar_get_template_directory_uri . '/js/leaflet.js', 'jquery', '1.3.1', TRUE);
wp_register_script('nectar_leaflet_map', $nectar_get_template_directory_uri . '/js/nectar-leaflet-map.js', 'jquery', $nectar_theme_version, TRUE);
wp_register_script('twentytwenty', $nectar_get_template_directory_uri . '/js/jquery.twentytwenty.js', 'jquery', '1.0', TRUE);
wp_register_script('infinite_scroll', $nectar_get_template_directory_uri . '/js/infinitescroll.js', array('jquery'), '1.1', TRUE);
wp_register_script('stickykit', $nectar_get_template_directory_uri . '/js/stickkit.js', 'jquery', '1.0', TRUE);
if ( floatval(get_bloginfo('version')) < "3.6" ) {
wp_register_script('jplayer', $nectar_get_template_directory_uri . '/js/jplayer.min.js', 'jquery', '2.1', TRUE);
}
wp_register_script('nectarFrontend', $nectar_get_template_directory_uri . '/js/init.js', array('jquery', 'superfish'), $nectar_theme_version, TRUE);
// Dequeue
$lightbox_script = (!empty($options['lightbox_script'])) ? $options['lightbox_script'] : 'magnific';
if($lightbox_script == 'pretty_photo') { $lightbox_script = 'magnific'; }
// Enqueue
wp_enqueue_script('jquery');
wp_enqueue_script('nectar_priority');
wp_enqueue_script('modernizer');
wp_enqueue_script('imagesLoaded');
////only load for IE8
if(preg_match('/(?i)msie [2-8]/',$_SERVER['HTTP_USER_AGENT'])) {
wp_enqueue_script('respond');
}
$portfolio_extra_content = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_portfolio_extra_content', true) : '';
$post_content = (isset($post->post_content)) ? $post->post_content : '';
//if(!empty($options['smooth-scrolling']) && $options['smooth-scrolling'] == '1') { wp_enqueue_script('nicescroll'); }
if(!empty($options['portfolio_sidebar_follow']) && $options['portfolio_sidebar_follow'] == '1' && is_singular('portfolio') ) { wp_enqueue_script('stickykit'); }
if ($lightbox_script == 'magnific') {
wp_enqueue_script('magnific');
} elseif($lightbox_script == 'fancybox') {
wp_enqueue_script('fancyBox');
}
if(stripos( $post_content, 'nectar_portfolio') !== FALSE || stripos( $portfolio_extra_content, 'nectar_portfolio') !== FALSE ||
stripos( $post_content, 'vc_gallery type="image_grid"') !== FALSE || stripos( $portfolio_extra_content, 'vc_gallery type="image_grid"') !== FALSE ||
stripos( $post_content, "vc_gallery type='image_grid'") !== FALSE || stripos( $portfolio_extra_content, "vc_gallery type='image_grid'") !== FALSE ||
stripos( $post_content, 'type="image_grid"') !== FALSE || stripos( $portfolio_extra_content, 'type="image_grid"') !== FALSE ||
stripos( $post_content, "type='image_grid'") !== FALSE || stripos( $portfolio_extra_content, "type='image_grid'") !== FALSE ||
is_page_template('template-portfolio.php') || is_search()) {
wp_enqueue_script('isotope');
}
$page_full_screen_rows = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows', true) : '';
if($page_full_screen_rows == 'on') wp_enqueue_script('fullPage');
if(stripos( $post_content, '[recent_projects') !== FALSE || stripos( $portfolio_extra_content, '[recent_projects') !== FALSE
|| stripos($post_content, '[carousel') !== FALSE || stripos( $portfolio_extra_content, '[carousel') !== FALSE
|| stripos($post_content, 'carousel="true"') !== FALSE || stripos( $portfolio_extra_content, 'carousel="true"') !== FALSE
|| stripos($post_content, 'carousel="1"') !== FALSE || stripos( $portfolio_extra_content, 'carousel="1"') !== FALSE
|| is_page_template('template-home-1.php')) {
wp_enqueue_script('caroufredsel');
}
if( stripos( $post_content, 'script="owl_carousel"') !== FALSE || stripos( $portfolio_extra_content, 'script="owl_carousel"') !== FALSE ) {
wp_enqueue_script('owl_carousel');
}
$nectar_theme_skin = (!empty($options['theme-skin'])) ? $options['theme-skin'] : 'original' ;
$headerFormat = (!empty($options['header_format'])) ? $options['header_format'] : 'default';
if($headerFormat == 'centered-menu-bottom-bar') { $nectar_theme_skin = 'material'; }
wp_enqueue_script('nectarFrontend');
$bg_type = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_slider_bg_type', true) : '';
$transition_method = (!empty($options['transition-method'])) ? $options['transition-method'] : 'ajax';
if(!empty($options['ajax-page-loading']) && $options['ajax-page-loading'] == '1' && $transition_method == 'ajax') {
wp_enqueue_script('nectarSlider');
wp_enqueue_script('fullPage');
wp_enqueue_script('ajaxify');
}
}
}
add_action('wp_enqueue_scripts', 'nectar_register_js');
function nectar_page_specific_js() {
global $post;
global $options;
global $nectar_get_template_directory_uri;
if(!is_object($post)) $post = (object) array('post_content'=>' ', 'ID' => ' ');
$template_name = get_post_meta( $post->ID, '_wp_page_template', true );
//home
if ( is_page_template('template-home-1.php') || $template_name == 'salient/template-home-1.php' ||
is_page_template('template-home-2.php') || $template_name == 'salient/template-home-2.php' ||
is_page_template('template-home-3.php') || $template_name == 'salient/template-home-3.php' ||
is_page_template('template-home-4.php') || $template_name == 'salient/template-home-4.php') {
wp_enqueue_script('orbit');
wp_enqueue_script('touchswipe');
}
$portfolio_extra_content = get_post_meta($post->ID, '_nectar_portfolio_extra_content', true);
$post_content = $post->post_content;
$posttype = get_post_type($post);
/*********for page builder elements********/
////infinite scroll
if(stripos( $post->post_content, 'pagination_type="infinite_scroll"') !== FALSE || stripos( $portfolio_extra_content, 'pagination_type="infinite_scroll"') !== FALSE ) {
wp_enqueue_script('infinite_scroll');
}
////gallery slider scripts
if(stripos( $post->post_content, '[nectar_blog') !== FALSE ||
stripos( $portfolio_extra_content, '[nectar_blog') !== FALSE) {
wp_enqueue_script('flickity');
wp_enqueue_script('flexslider');
}
////stickkit
if(stripos( $post->post_content, '[nectar_blog') !== FALSE && stripos( $post->post_content, 'enable_ss="true"') !== FALSE ||
stripos( $portfolio_extra_content, '[nectar_blog') !== FALSE && stripos( $portfolio_extra_content, 'enable_ss="true"') !== FALSE) {
wp_enqueue_script('stickykit');
}
////isotope
if(stripos( $post->post_content, '[nectar_blog') !== FALSE && stripos( $post->post_content, 'layout="masonry') !== FALSE ||
stripos( $portfolio_extra_content, '[nectar_blog') !== FALSE && stripos( $portfolio_extra_content, 'layout="masonry') !== FALSE) {
wp_enqueue_script('isotope');
}
/*********for archive pages based on theme options********/
$nectar_on_blog_archive_check = ( is_archive() || is_author() || is_category() || is_home() || is_tag() ) && ( 'post' == $posttype && !is_singular() );
$nectar_on_portfolio_archive_check = ( is_archive() || is_category() || is_home() || is_tag() ) && ( 'portfolio' == $posttype && !is_singular() );
////infinite scroll
if( (!empty($options['portfolio_pagination_type']) && $options['portfolio_pagination_type'] == 'infinite_scroll') && $nectar_on_portfolio_archive_check ||
(!empty($options['portfolio_pagination_type']) && $options['portfolio_pagination_type'] == 'infinite_scroll') && is_page_template('template-portfolio.php') ||
(!empty($options['blog_pagination_type']) && $options['blog_pagination_type'] == 'infinite_scroll') && $nectar_on_blog_archive_check ) {
wp_enqueue_script('infinite_scroll');
if (class_exists('WPBakeryVisualComposerAbstract') && defined( 'SALIENT_VC_ACTIVE')) {
wp_register_script('progressCircle', vc_asset_url('lib/bower/progress-circle/ProgressCircle.min.js'));
wp_register_script('vc_pie', vc_asset_url('lib/vc_chart/jquery.vc_chart.min.js'), array('jquery', 'progressCircle'));
}
}
////sticky sidebar
if( !empty($options['blog_enable_ss']) && $options['blog_enable_ss'] == '1' && $nectar_on_blog_archive_check) {
wp_enqueue_script('stickykit');
}
////isotope
$nectar_blog_type = ( !empty($options['blog_type']) ) ? $options['blog_type'] : 'masonry-blog-fullwidth';
$nectar_blog_std_style = ( !empty($options['blog_standard_type']) ) ? $options['blog_standard_type'] : 'featured_img_left';
$nectar_blog_masonry_style = ( !empty($options['blog_masonry_type']) ) ? $options['blog_masonry_type'] : 'auto_meta_overlaid_spaced';
if($nectar_blog_type != 'std-blog-sidebar' && $nectar_blog_type != 'std-blog-fullwidth') {
if($nectar_blog_masonry_style != 'auto_meta_overlaid_spaced' && $nectar_on_blog_archive_check) {
wp_enqueue_script('isotope');
}
}
if($nectar_on_portfolio_archive_check) { wp_enqueue_script('isotope'); }
//gallery slider scripts
if( $nectar_on_blog_archive_check ) {
if($nectar_blog_type == 'std-blog-sidebar' || $nectar_blog_type == 'std-blog-fullwidth') {
//std styles that could contain gallery sliders
if($nectar_blog_std_style == 'classic' || $nectar_blog_std_style == 'minimal') {
wp_enqueue_script('flickity');
wp_enqueue_script('flexslider');
}
} else {
//masonry styles that could contain gallery sliders
if($nectar_blog_masonry_style != 'auto_meta_overlaid_spaced') {
wp_enqueue_script('flickity');
wp_enqueue_script('flexslider');
}
}
}
//single post sticky sidebar
$enable_ss = (!empty($options['blog_enable_ss'])) ? $options['blog_enable_ss'] : 'false';
if( ($enable_ss == '1' && is_single() && $posttype == 'post') ||
stripos( $post->post_content, '[vc_widget_sidebar') !== FALSE || stripos( $portfolio_extra_content, '[vc_widget_sidebar') !== FALSE ) {
wp_enqueue_script('stickykit');
}
//nectarSlider
if(stripos( $post_content, '[nectar_slider') !== FALSE || stripos( $portfolio_extra_content, '[nectar_slider') !== FALSE
|| stripos($post_content, 'type="nectarslider_style"') !== FALSE || stripos( $portfolio_extra_content, 'type="nectarslider_style"') !== FALSE) {
wp_enqueue_script('nectarSlider');
}
//touch swipe
$box_roll = get_post_meta($post->ID, '_nectar_header_box_roll', true);
wp_enqueue_script('touchswipe');
//flickity
if(stripos($post_content, '[vc_gallery type="flickity"') !== FALSE || stripos( $portfolio_extra_content, '[vc_gallery type="flickity"') !== FALSE
|| stripos($post_content, 'style="multiple_visible"') !== FALSE || stripos( $portfolio_extra_content, 'style="multiple_visible"') !== FALSE
|| stripos($post_content, 'style="slider_multiple_visible"') !== FALSE || stripos( $portfolio_extra_content, 'style="slider_multiple_visible"') !== FALSE
|| stripos($post_content, 'script="flickity"') !== FALSE || stripos( $portfolio_extra_content, 'script="flickity"') !== FALSE
|| stripos($post_content, 'style="multiple_visible_minimal"') !== FALSE || stripos( $portfolio_extra_content, 'style="multiple_visible_minimal"') !== FALSE
|| stripos($post_content, 'style="slider"') !== FALSE || stripos( $portfolio_extra_content, 'style="slider"') !== FALSE) {
wp_enqueue_script('flickity');
}
//fancy select
$fancy_rcs = (!empty($options['form-fancy-select'])) ? $options['form-fancy-select'] : 'default';
if($fancy_rcs == '1') {
wp_enqueue_script('select2');
}
//svg icon animation
if(strpos($post_content,'.svg') !== false || strpos($portfolio_extra_content,'.svg') !== false) {
wp_enqueue_script('vivus');
}
//comments
if ( is_singular() && comments_open() && get_option('thread_comments') ) {
wp_enqueue_script('comment-reply');
}
}
add_action('wp_enqueue_scripts', 'nectar_page_specific_js');
add_action( 'wp_head', 'nectar_javascript_check' );
if (!function_exists('nectar_javascript_check')) {
function nectar_javascript_check() {
echo '<script type="text/javascript"> var root = document.getElementsByTagName( "html" )[0]; root.setAttribute( "class", "js" ); </script>';
}
}
add_action( 'nectar_hook_after_body_open', 'nectar_mobile_browser_check', 1 );
if (!function_exists('nectar_mobile_browser_check')) {
function nectar_mobile_browser_check() {
echo '<script type="text/javascript"> if(navigator.userAgent.match(/(Android|iPod|iPhone|iPad|BlackBerry|IEMobile|Opera Mini)/)) { document.body.className += " using-mobile-browser "; } </script>';
}
}
if (!function_exists('remove_wp_open_sans')) :
function remove_wp_open_sans() {
wp_deregister_style( 'open-sans' );
wp_register_style( 'open-sans', false );
}
add_action('wp_enqueue_scripts', 'remove_wp_open_sans');
endif;
if(!function_exists('nectar_remove_lazy_load_functionality')) {
function nectar_remove_lazy_load_functionality($attr) {
$attr['class'] .= ' skip-lazy';
return $attr;
}
}
#-----------------------------------------------------------------#
# Register/Enqueue CSS
#-----------------------------------------------------------------#
//Main Styles
function nectar_main_styles() {
global $nectar_get_template_directory_uri;
$nectar_theme_version = nectar_get_theme_version();
// Register
wp_register_style('rgs', $nectar_get_template_directory_uri . '/css/rgs.css', '', $nectar_theme_version);
wp_register_style('orbit', $nectar_get_template_directory_uri . '/css/orbit.css');
wp_register_style('twentytwenty', $nectar_get_template_directory_uri . '/css/twentytwenty.css');
wp_register_style('woocommerce', $nectar_get_template_directory_uri . '/css/woocommerce.css','', $nectar_theme_version);
wp_register_style('font-awesome', $nectar_get_template_directory_uri . '/css/font-awesome.min.css', '', '4.6.4');
wp_register_style('iconsmind', $nectar_get_template_directory_uri . '/css/iconsmind.css', '', '7.6');
wp_register_style('linea', $nectar_get_template_directory_uri . '/css/fonts/svg/font/arrows_styles.css');
wp_register_style('fullpage', $nectar_get_template_directory_uri . '/css/fullpage.css', '', $nectar_theme_version);
wp_register_style('nectarslider', $nectar_get_template_directory_uri . '/css/nectar-slider.css', '', $nectar_theme_version);
wp_register_style("main-styles", get_stylesheet_directory_uri() . "/style.css", '', $nectar_theme_version);
wp_register_style("nectar-portfolio", $nectar_get_template_directory_uri . "/css/portfolio.css", '', $nectar_theme_version);
wp_register_style("magnific", $nectar_get_template_directory_uri . "/css/magnific.css", '', '8.6.0');
wp_register_style("fancyBox", $nectar_get_template_directory_uri . "/css/jquery.fancybox.css", '', '9.0');
wp_register_style("responsive", $nectar_get_template_directory_uri . "/css/responsive.css", '', $nectar_theme_version);
wp_register_style("select2", $nectar_get_template_directory_uri . "/css/select2.css", '', '6.2');
wp_register_style("non-responsive", $nectar_get_template_directory_uri . "/css/non-responsive.css");
wp_register_style("skin-original", $nectar_get_template_directory_uri . "/css/skin-original.css", '', $nectar_theme_version);
wp_register_style("skin-ascend", $nectar_get_template_directory_uri . "/css/ascend.css", '', $nectar_theme_version);
wp_register_style("skin-material", $nectar_get_template_directory_uri . "/css/skin-material.css", '', $nectar_theme_version);
wp_register_style("box-roll", $nectar_get_template_directory_uri . "/css/box-roll.css");
wp_register_style("leaflet", $nectar_get_template_directory_uri . '/css/leaflet.css', '1.3.1');
wp_register_style("nectar-ie8", $nectar_get_template_directory_uri . "/css/ie8.css");
global $options;
$lightbox_script = (!empty($options['lightbox_script'])) ? $options['lightbox_script'] : 'magnific';
if($lightbox_script == 'pretty_photo') { $lightbox_script = 'magnific'; }
// Enqueue
wp_enqueue_style('rgs');
wp_enqueue_style('font-awesome');
wp_enqueue_style('main-styles');
if ($lightbox_script == 'magnific') {
wp_enqueue_style('magnific');
} else if($lightbox_script == 'fancybox') {
wp_enqueue_style('fancyBox');
}
wp_enqueue_style('nectar-ie8');
//responsive
if( !empty($options['responsive']) && $options['responsive'] == 1 ) {
wp_enqueue_style('responsive');
} else {
wp_enqueue_style('non-responsive');
add_filter('body_class','salient_non_responsive');
function salient_non_responsive($classes) {
// add 'class-name' to the $classes array
$classes[] = 'salient_non_responsive';
// return the $classes array
return $classes;
}
}
////Default fonts with extended chars
global $options;
if(!empty($options['extended-theme-font']) && $options['extended-theme-font'] != '0') {
wp_enqueue_style( "options_typography_OpenSans_ext", "https://fonts.googleapis.com/css?family=Open+Sans%3A300%2C400%2C600%2C700&subset=latin%2Clatin-ext", false, null, 'all' );
}
//IE
global $wp_styles;
$wp_styles->add_data("nectar-ie8", 'conditional', 'lt IE 9');
//ajaxify needed
$transition_method = (!empty($options['transition-method'])) ? $options['transition-method'] : 'ajax';
if(!empty($options['ajax-page-loading']) && $options['ajax-page-loading'] == '1' && $transition_method == 'ajax') {
wp_enqueue_style('wp-mediaelement');
wp_enqueue_style('fullpage');
wp_enqueue_style('nectarslider');
wp_enqueue_style('nectar-portfolio');
}
}
add_action('wp_enqueue_scripts', 'nectar_main_styles');
function nectar_page_sepcific_styles() {
global $post;
if(!is_object($post)) $post = (object) array('post_content'=>' ', 'ID' => ' ');
$portfolio_extra_content = get_post_meta($post->ID, '_nectar_portfolio_extra_content', true);
$post_content = $post->post_content;
//home
if ( is_page_template('template-home-1.php') || is_page_template('template-home-2.php') || is_page_template('template-home-3.php') || is_page_template('template-home-4.php')) {
wp_enqueue_style('orbit');
}
//full page
$page_full_screen_rows = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows', true) : '';
if($page_full_screen_rows == 'on') wp_enqueue_style('fullpage');
//nectar slider
if(stripos( $post_content, '[nectar_slider') !== FALSE || stripos( $portfolio_extra_content, '[nectar_slider') !== FALSE
|| stripos($post_content, 'type="nectarslider_style"') !== FALSE || stripos( $portfolio_extra_content, 'type="nectarslider_style"') !== FALSE) {
wp_enqueue_style('nectarslider');
}
//portfolio
if(stripos( $post_content, 'nectar_portfolio') !== FALSE || stripos( $portfolio_extra_content, 'nectar_portfolio') !== FALSE ||
stripos( $post_content, 'recent_projects') !== FALSE || stripos( $portfolio_extra_content, 'recent_projects') !== FALSE ||
stripos( $post_content, 'type="image_grid"') !== FALSE || stripos( $portfolio_extra_content, 'type="image_grid"') !== FALSE ||
stripos( $post_content, "type='image_grid'") !== FALSE || stripos( $portfolio_extra_content, "type='image_grid'") !== FALSE ||
is_page_template('template-portfolio.php') || is_post_type_archive('portfolio') || is_singular('portfolio') || is_tax('project-attributes') || is_tax('project-type')) {
wp_enqueue_style('nectar-portfolio');
}
//WooCommerce
if ( function_exists( 'is_woocommerce' ) ) {
wp_enqueue_style('woocommerce');
}
if(strpos($post_content,'.svg') !== false && strpos($post_content,'icon color="Extra-Color-Gradient-1"') !== false ||
strpos($post_content,'.svg') !== false && strpos($post_content,'icon color="Extra-Color-Gradient-2"') !== false ||
strpos($post_content,'.svg') !== false && strpos($post_content,"icon color='Extra-Color-Gradient-1'") !== false ||
strpos($post_content,'.svg') !== false && strpos($post_content,"icon color='Extra-Color-Gradient-2'") !== false ||
strpos($portfolio_extra_content,'.svg') !== false && strpos($portfolio_extra_content,'icon color="Extra-Color-Gradient-1"') !== false ||
strpos($portfolio_extra_content,'.svg') !== false && strpos($portfolio_extra_content,'icon color="Extra-Color-Gradient-2"') !== false ||
strpos($portfolio_extra_content,'.svg') !== false && strpos($portfolio_extra_content,"icon color='Extra-Color-Gradient-1'") !== false ||
strpos($portfolio_extra_content,'.svg') !== false && strpos($portfolio_extra_content,"icon color='Extra-Color-Gradient-2'") !== false ) {
wp_enqueue_style('linea');
}
if(strpos($post_content,'iconsmind-') !== false ||
strpos($portfolio_extra_content,'iconsmind-') !== false) {
wp_enqueue_style('iconsmind');
}
global $options;
$fancy_rcs = (!empty($options['form-fancy-select'])) ? $options['form-fancy-select'] : 'default';
if($fancy_rcs == '1') {
wp_enqueue_style('select2');
}
}
add_action('wp_enqueue_scripts', 'nectar_page_sepcific_styles');
$page_transition_bg = (!empty($options['transition-bg-color'])) ? $options['transition-bg-color'] : '#ffffff';
$page_transition_bg_2 = (!empty($options['transition-bg-color-2'])) ? $options['transition-bg-color-2'] : $page_transition_bg;
$page_transition_effect = (!empty($options['transition-effect'])) ? $options['transition-effect'] : 'standard';
$transition_method = (!empty($options['transition-method'])) ? $options['transition-method'] : 'ajax';
function nectar_page_transition_bg_fix() {
global $page_transition_bg;
global $page_transition_bg_2;
global $page_transition_effect;
//set html bg color to match preloading screen to avoid white flash in chrome
if($page_transition_effect == 'horizontal_swipe') {
$css = "html:not(.page-trans-loaded) { background-color: ".$page_transition_bg_2."; }";
} else {
$css = "html:not(.page-trans-loaded) { background-color: ".$page_transition_bg."; }";
}
wp_add_inline_style( 'main-styles', $css );
}
if(!empty($options['ajax-page-loading']) && $options['ajax-page-loading'] == '1' && $transition_method == 'standard') add_action('wp_enqueue_scripts', 'nectar_page_transition_bg_fix');
#-----------------------------------------------------------------#
# Dynamic Styles
#-----------------------------------------------------------------#
function nectar_quick_minify( $css ) {
$css = preg_replace( '/\s+/', ' ', $css );
$css = preg_replace( '/\/\*[^\!](.*?)\*\//', '', $css );
$css = preg_replace( '/(,|:|;|\{|}) /', '$1', $css );
$css = preg_replace( '/ (,|;|\{|})/', '$1', $css );
$css = preg_replace( '/(:| )0\.([0-9]+)(%|em|ex|px|in|cm|mm|pt|pc)/i', '${1}.${2}${3}', $css );
$css = preg_replace( '/(:| )(\.?)0(%|em|ex|px|in|cm|mm|pt|pc)/i', '${1}0', $css );
return trim( $css );
}
if (!function_exists('nectar_colors_css_output')) {
function nectar_colors_css_output(){
include('css/colors.php');
}
}
if (!function_exists('nectar_custom_css_output')) {
function nectar_custom_css_output(){
include('css/custom.php');
}
}
if (!function_exists('nectar_fonts_output')) {
function nectar_fonts_output(){
include('css/fonts.php');
}
}
if (!function_exists('nectar_top_padding_calc')) {
function nectar_top_padding_calc() {
global $post;
$pattern = get_shortcode_regex();
if($post && isset($post->post_content) && (!is_single() && !is_archive()) ) {
if ( preg_match( '/'. $pattern .'/s', $post->post_content, $matches ) && array_key_exists( 0, $matches )) {
if($matches[0]){
if( strpos($matches[0],'vc_row type="full_width_background"') !== false || strpos($matches[0],'vc_row type="full_width_content"') !== false ) {
$custom_css = 'html body[data-header-resize="1"] .container-wrap, html body[data-header-resize="0"] .container-wrap, body[data-header-format="left-header"][data-header-resize="0"] .container-wrap { padding-top: 0; }';
wp_add_inline_style( 'main-styles', $custom_css );
} //first shortcode is fullwidth
}
}
} // verify not on single or archive
} // end function
}
add_action( 'wp_enqueue_scripts', 'nectar_top_padding_calc' );
if (!function_exists('nectar_page_specific_dynamic')) {
function nectar_page_specific_dynamic() {
ob_start();
////page header
global $post;
global $options;
$font_color = get_post_meta($post->ID, '_nectar_header_font_color', true);
$header_auto_title = (!empty($options['header-auto-title']) && $options['header-auto-title'] == '1') ? true : false;
$title = get_post_meta($post->ID, '_nectar_header_title', true);
if($header_auto_title && is_page() && empty($title)) {
if(empty($font_color)) { $font_color = (!empty($options['overall-font-color'])) ? $options['overall-font-color'] : '#333333'; }
}
if(!empty($font_color) && !is_search()) {
echo '#page-header-bg h1, #page-header-bg .subheader, .nectar-box-roll .overlaid-content h1, .nectar-box-roll .overlaid-content .subheader, .page-header-no-bg h1, body .section-title #portfolio-nav a:hover i, .page-header-no-bg span, #page-header-bg #portfolio-nav a i, #page-header-bg span { color: '. $font_color .'!important; } ';
echo 'body #page-header-bg a.pinterest-share i, body #page-header-bg a.facebook-share i, body #page-header-bg .twitter-share i, body #page-header-bg .google-plus-share i,
body #page-header-bg .icon-salient-heart, body #page-header-bg .icon-salient-heart-2 { color: '. $font_color .'; }';
}
$theme_skin = ( !empty($options['theme-skin']) ) ? $options['theme-skin'] : 'original';
$headerFormat = (!empty($options['header_format'])) ? $options['header_format'] : 'default';
if($headerFormat == 'centered-menu-bottom-bar') { $theme_skin = 'material'; }
$logo_height = (!empty($options['use-logo']) && !empty($options['logo-height'])) ? intval($options['logo-height']) : 30;
$header_padding = (!empty($options['header-padding'])) ? intval($options['header-padding']) : 28;
$nav_font_size = (!empty($options['use-custom-fonts']) && $options['use-custom-fonts'] == 1 && !empty($options['navigation_font_size']) && $options['navigation_font_size'] != '-') ? intval(substr($options['navigation_font_size'],0,-2) *1.4 ) : 20;
$dd_indicator_height = (!empty($options['use-custom-fonts']) && $options['use-custom-fonts'] == 1 && !empty($options['navigation_font_size']) && $options['navigation_font_size'] != '-') ? intval(substr($options['navigation_font_size'],0,-2)) -1 : 20;
$padding_top = ceil(($logo_height/2)) - ceil(($nav_font_size/2));
$padding_bottom = (ceil(($logo_height/2)) - ceil(($nav_font_size/2))) + $header_padding;
$search_padding_top = ceil(($logo_height/2)) - ceil(21/2) +1;
$search_padding_bottom = (ceil(($logo_height/2)) - ceil(21/2));
$using_secondary = (!empty($options['header_layout'])) ? $options['header_layout'] : ' ';
if($theme_skin == 'material') {
$extra_secondary_height = ($using_secondary == 'header_with_secondary') ? 40 : 0;
} else {
$extra_secondary_height = ($using_secondary == 'header_with_secondary') ? 32 : 0;
}
if($headerFormat == 'centered-menu-bottom-bar') {
$header_space = $logo_height + ($header_padding*3) + $nav_font_size + $extra_secondary_height;
}
else if($headerFormat == 'centered-menu-under-logo') {
$header_space = $logo_height + ($header_padding*2) + 20 + $nav_font_size + $extra_secondary_height;
}
else {
$header_space = $logo_height + ($header_padding*2) + $extra_secondary_height;
}
//woo product title
$wooSocial = ( !empty($options['woo_social']) && $options['woo_social'] == 1 ) ? '1' : '0';
$wooSocialCount = 0;
$wooProductTitlePadding = 0;
if($wooSocial == '1') {
if(!empty($options['woo-facebook-sharing']) && $options['woo-facebook-sharing'] == 1) $wooSocialCount++;
if(!empty($options['woo-twitter-sharing']) && $options['woo-twitter-sharing'] == 1) $wooSocialCount++;
if(!empty($options['woo-pinterest-sharing']) && $options['woo-pinterest-sharing'] == 1) $wooSocialCount++;
if(!empty($options['woo-google-plus-sharing']) && $options['woo-google-plus-sharing'] == 1) $wooSocialCount++;
if(!empty($options['woo-linkedin-sharing']) && $options['woo-linkedin-sharing'] == 1) $wooSocialCount++;
$wooProductTitlePadding = ($wooSocialCount*52) + 50;
}
//hide scrollbar during loading if using fullpage option
$page_full_screen_rows = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows', true) : '';
if($page_full_screen_rows == 'on') {
echo 'body,html { overflow: hidden; height: 100%;}';
}
//body border
$body_border = (!empty($options['body-border'])) ? $options['body-border'] : 'off';
$body_border_size = (!empty($options['body-border-size'])) ? $options['body-border-size'] : '20';
$body_border_color = (!empty($options['body-border-color'])) ? $options['body-border-color'] : '#ffffff';
if($body_border == '1') {
$headerColorScheme = (!empty($options['header-color'])) ? $options['header-color'] : 'light';
$userSetBG = (!empty($options['header-background-color']) && $headerColorScheme == 'custom') ? $options['header-background-color'] : '#ffffff';
$activate_transparency = using_page_header($post->ID);
if(empty($options['transparent-header'])) {
$activate_transparency = 'false';
}
echo '@media only screen and (min-width: 1001px) {
.page-submenu > .full-width-section,
.page-submenu .full-width-content,
.full-width-content.blog-fullwidth-wrap,
.wpb_row.full-width-content,
body .full-width-section .row-bg-wrap,
body .full-width-section > .nectar-shape-divider-wrap,
body .full-width-section > .video-color-overlay,
body[data-aie="zoom-out"] .first-section .row-bg-wrap,
body[data-aie="long-zoom-out"] .first-section .row-bg-wrap,
body[data-aie="zoom-out"] .top-level.full-width-section .row-bg-wrap,
body[data-aie="long-zoom-out"] .top-level.full-width-section .row-bg-wrap,
body .full-width-section.parallax_section .row-bg-wrap {
margin-left: calc(-50vw + '. intval($body_border_size*2) .'px);
left: calc(50% - '.$body_border_size.'px);
width: calc(100vw - '. intval($body_border_size)*2 .'px);
}';
if($headerFormat == 'left-header') {
echo '[data-header-format="left-header"] .full-width-content.blog-fullwidth-wrap,
[data-header-format="left-header"] .wpb_row.full-width-content,
[data-header-format="left-header"] .page-submenu > .full-width-section,
[data-header-format="left-header"] .page-submenu .full-width-content,
[data-header-format="left-header"] .full-width-section .row-bg-wrap,
[data-header-format="left-header"] .full-width-section > .nectar-shape-divider-wrap,
[data-header-format="left-header"] .full-width-section > .video-color-overlay,
[data-header-format="left-header"][data-aie="zoom-out"] .first-section .row-bg-wrap,
[data-header-format="left-header"][data-aie="long-zoom-out"] .first-section .row-bg-wrap,
[data-header-format="left-header"][data-aie="zoom-out"] .top-level.full-width-section .row-bg-wrap,
[data-header-format="left-header"][data-aie="long-zoom-out"] .top-level.full-width-section .row-bg-wrap,
[data-header-format="left-header"] .full-width-section.parallax_section .row-bg-wrap,
[data-header-format="left-header"] .nectar-slider-wrap[data-full-width="true"] {
margin-left: -'. (61 + intval($body_border_size)) .'px;
width: calc(100% + '. (122 + intval($body_border_size)) .'px);
left: 0;
}
[data-header-format="left-header"] .full-width-section > .nectar-video-wrap {
margin-left: -'. (61 + intval($body_border_size)) .'px;
width: calc(100% + '. (122 + intval($body_border_size)) .'px)!important;
left: 0;
}';
}
echo 'body {padding-bottom: '.$body_border_size.'px; }
.container-wrap { padding-right: '.$body_border_size.'px; padding-left: '.$body_border_size.'px; padding-bottom: '.$body_border_size.'px;}
.midnightInner, #footer-outer[data-full-width="1"] { padding-right: '.$body_border_size.'px; padding-left: '.$body_border_size.'px; }
#slide-out-widget-area.fullscreen .bottom-text[data-has-desktop-social="false"], #slide-out-widget-area.fullscreen-alt .bottom-text[data-has-desktop-social="false"] {bottom: '. intVal($body_border_size + 28) .'px;}
#header-outer, body #header-outer-bg-only {box-shadow: none; -webkit-box-shadow: none;}
.slide-out-hover-icon-effect.small, .slide-out-hover-icon-effect:not(.small) {margin-top: '.$body_border_size.'px; margin-right: '.$body_border_size.'px;}
#slide-out-widget-area-bg.fullscreen-alt { padding: '.$body_border_size.'px; }
#slide-out-widget-area.slide-out-from-right-hover {margin-right: '.$body_border_size.'px;}
.orbit-wrapper div.slider-nav span.left, .swiper-container .slider-prev { margin-left: '.$body_border_size.'px;} .orbit-wrapper div.slider-nav span.right, .swiper-container .slider-next { margin-right: '.$body_border_size.'px;}
.admin-bar #slide-out-widget-area-bg.fullscreen-alt { padding-top: '. intval($body_border_size+32) .'px; }
#header-outer, body.ascend #search-outer, #header-secondary-outer, #slide-out-widget-area.slide-out-from-right, #slide-out-widget-area.fullscreen .bottom-text { margin-top: '.$body_border_size.'px; padding-right: '.$body_border_size.'px; padding-left: '.$body_border_size.'px; }
#nectar_fullscreen_rows, body #slide-out-widget-area-bg:not(.fullscreen-alt) { margin-top: '.$body_border_size.'px; }
body:not(.ascend):not(.material) .cart-menu-wrap .cart-menu , #slide-out-widget-area.fullscreen .off-canvas-social-links { padding-right: '.$body_border_size.'px!important; }
.section-down-arrow, #slide-out-widget-area.fullscreen .off-canvas-social-links, #slide-out-widget-area.fullscreen .bottom-text { padding-bottom: '.$body_border_size.'px; }
.ascend #search-outer #search #close, body[data-smooth-scrolling="0"]:not(.material) #header-outer .widget_shopping_cart, #page-header-bg .pagination-navigation { margin-right: '.$body_border_size.'px; }
#to-top { right: '. intval($body_border_size+17) .'px; margin-bottom: '.$body_border_size.'px; }
body[data-dropdown-style="minimal"][data-header-color="light"] #header-outer:not(.transparent) .sf-menu > li > ul { border-top: none; }
body:not(.ascend) #header-outer .cart-menu { background-color: '.$body_border_color.'; border-left: 1px solid rgba(0,0,0,0.1); }
#fp-nav { padding-right: '.$body_border_size.'px; } .body-border-left {background-color: '.$body_border_color.'; width: '.$body_border_size.'px;} .body-border-right {background-color: '.$body_border_color.'; width: '.$body_border_size.'px;} .body-border-bottom { background-color: '.$body_border_color.'; height: '.$body_border_size.'px;}
.body-border-top {background-color: '.$body_border_color.'; height: '.$body_border_size.'px;}
}
@media only screen and (max-width: 1000px) {
.body-border-right, .body-border-left, .body-border-top, .body-border-bottom { display: none; }
}';
if(($body_border_color == '#ffffff' && $headerColorScheme == 'light' || $headerColorScheme == 'custom' && $body_border_color == $userSetBG ) && $activate_transparency != 'true' ) {
echo '#header-outer:not([data-using-secondary="1"]):not(.transparent), body.ascend #search-outer, body[data-slide-out-widget-area-style="fullscreen-alt"] #header-outer:not([data-using-secondary="1"]) { margin-top: 0!important; } .body-border-top { z-index: 9997; } #slide-out-widget-area.slide-out-from-right { z-index: 9997;}
#nectar_fullscreen_rows, body #slide-out-widget-area-bg { margin-top: 0px!important; }
body #header-outer, body[data-slide-out-widget-area-style="slide-out-from-right-hover"] #header-outer { z-index: 9998; }
@media only screen and (min-width: 1001px) {
body[data-user-set-ocm="off"].material #header-outer[data-full-width="true"], body[data-user-set-ocm="off"].ascend #header-outer { z-index: 10010; }
}
#header-outer[data-full-width="true"]:not([data-transparent-header="true"]) header > .container, #header-outer[data-full-width="true"][data-transparent-header="true"].pseudo-data-transparent header > .container { padding-left: 0; padding-right: 0; }
@media only screen and (max-width: 1080px) and (min-width: 1000px) {
.ascend[data-slide-out-widget-area="true"] #header-outer[data-full-width="true"]:not([data-transparent-header="true"]) header > .container { padding-left: 0!important; padding-right: 0!important; }
}
body[data-header-search="false"][data-slide-out-widget-area="false"].ascend #header-outer[data-full-width="true"][data-cart="true"]:not([data-transparent-header="true"]) header > .container { padding-right: 28px; }
body:not(.ascend):not(.material) #header-outer[data-full-width="true"] header#top nav > ul.product_added.buttons { padding-right: '.intval($body_border_size+80) .'px!important; }
body.ascend[data-slide-out-widget-area="true"] #header-outer[data-full-width="true"] .cart-menu-wrap { right: '.intval($body_border_size+51) .'px!important; }
body[data-slide-out-widget-area-style="slide-out-from-right"] #header-outer[data-header-resize="0"] {
-ms-transition: transform 0.7s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0.3s cubic-bezier(0.215,0.61,0.355,1), box-shadow 0.40s ease, margin 0.3s cubic-bezier(0.215,0.61,0.355,1)!important;
-webkit-transition: -webkit-transform 0.7s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0.3s cubic-bezier(0.215,0.61,0.355,1), box-shadow 0.40s ease, margin 0.3s cubic-bezier(0.215,0.61,0.355,1)!important;
transition: transform 0.7s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0.3s cubic-bezier(0.215,0.61,0.355,1), box-shadow 0.40s ease, margin 0.3s cubic-bezier(0.215,0.61,0.355,1)!important;
}
@media only screen and (min-width: 690px) {
body div.portfolio-items[data-gutter*="px"][data-col-num="elastic"] { padding: 0!important; }
}
body #header-outer[data-transparent-header="true"].transparent { transition: none; -webkit-transition: none; }
body[data-slide-out-widget-area-style="fullscreen-alt"] #header-outer { transition: background-color 0.3s cubic-bezier(0.215,0.61,0.355,1); -webkit-transition: background-color 0.3s cubic-bezier(0.215,0.61,0.355,1); }
body.ascend[data-slide-out-widget-area="false"] #header-outer[data-header-resize="0"][data-cart="true"]:not(.transparent) { z-index: 100000; }
';
} else if($body_border_color == '#ffffff' && $headerColorScheme == 'light' || $headerColorScheme == 'custom' && $body_border_color == $userSetBG) {
echo '#header-outer.small-nav:not(.transparent), #header-outer[data-header-resize="0"]:not([data-using-secondary="1"]).scrolled-down:not(.transparent), #header-outer.detached, body.ascend #search-outer.small-nav, body[data-slide-out-widget-area-style="slide-out-from-right-hover"] #header-outer:not([data-using-secondary="1"]):not(.transparent), body[data-slide-out-widget-area-style="fullscreen-alt"] #header-outer:not([data-using-secondary="1"]).scrolled-down, body[data-slide-out-widget-area-style="fullscreen-alt"] #header-outer:not([data-using-secondary="1"]).transparent.side-widget-open { margin-top: 0px; z-index: 100000; }
body.ascend[data-slide-out-widget-area="true"] #header-outer[data-full-width="true"].transparent:not(.small-nav) .cart-menu-wrap,
body.ascend[data-slide-out-widget-area="true"] #header-outer[data-full-width="true"].scrolled-down .cart-menu-wrap { right: '.intval($body_border_size+80) .'px!important; }
body.ascend[data-slide-out-widget-area="true"] #header-outer[data-full-width="true"] .cart-menu-wrap,
body.ascend[data-slide-out-widget-area="false"] #header-outer[data-full-width="true"][data-cart="true"] .cart-menu-wrap { transition: right 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); -webkit-transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1); }
.ascend #header-outer.transparent .cart-menu-wrap {width: 130px;}
body:not(.ascend):not(.material) #header-outer[data-full-width="true"] header#top nav > ul.product_added.buttons { padding-right: '.intval($body_border_size+80) .'px!important; }
#header-outer[data-full-width="true"][data-transparent-header="true"][data-header-resize="0"].scrolled-down:not(.transparent) .container,
body[data-slide-out-widget-area-style="fullscreen-alt"] #header-outer[data-full-width="true"].scrolled-down .container,
body[data-slide-out-widget-area-style="fullscreen-alt"] #header-outer[data-full-width="true"].transparent.side-widget-open .container { padding-left: 0!important; padding-right: 0!important; }
@media only screen and (min-width: 1001px) {
.material #header-outer[data-full-width="true"][data-transparent-header="true"][data-header-resize="0"].scrolled-down:not(.transparent) #search-outer .container {
padding: 0 90px!important;
}
}
body[data-header-search="false"][data-slide-out-widget-area="false"].ascend #header-outer[data-full-width="true"][data-cart="true"]:not(.transparent) header > .container { padding-right: 28px!important; }
body.ascend[data-slide-out-widget-area="false"] #header-outer[data-full-width="true"][data-cart="true"].transparent .cart-menu-wrap { right: '.intval($body_border_size) .'px!important; }
body.ascend[data-slide-out-widget-area="true"]:not([data-slide-out-widget-area-style="fullscreen"]):not([data-slide-out-widget-area-style="slide-out-from-right"]) #header-outer[data-full-width="true"][data-header-resize="0"].scrolled-down .cart-menu-wrap,
body.ascend[data-slide-out-widget-area="true"][data-slide-out-widget-area-style="fullscreen"] #header-outer[data-full-width="true"][data-header-resize="0"].scrolled-down:not(.transparent) .cart-menu-wrap,
body.ascend[data-slide-out-widget-area="true"][data-slide-out-widget-area-style="slide-out-from-right"] #header-outer[data-full-width="true"][data-header-resize="0"].scrolled-down:not(.transparent) .cart-menu-wrap,
body[data-slide-out-widget-area-style="fullscreen-alt"].ascend #header-outer[data-full-width="true"].transparent.side-widget-open .cart-menu-wrap { right: '.intval($body_border_size+50) .'px!important; }
@media only screen and (min-width: 690px) {
body div.portfolio-items[data-gutter*="px"][data-col-num="elastic"] { padding: 0!important; }
}
#header-outer[data-full-width="true"][data-header-resize="0"].transparent { -ms-transition: transform 0.7s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0.3s cubic-bezier(0.215,0.61,0.355,1), margin 0.3s cubic-bezier(0.215,0.61,0.355,1)!important; transition: transform 0.7s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0.3s cubic-bezier(0.215,0.61,0.355,1), margin 0.3s cubic-bezier(0.215,0.61,0.355,1)!important; -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0.3s cubic-bezier(0.215,0.61,0.355,1), margin 0.3s cubic-bezier(0.215,0.61,0.355,1)!important; }
body #header-outer[data-transparent-header="true"][data-header-resize="0"] { -ms-transition: transform 0.7s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0.3s cubic-bezier(0.215,0.61,0.355,1), box-shadow 0.40s ease, margin 0.3s cubic-bezier(0.215,0.61,0.355,1)!important; -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0.3s cubic-bezier(0.215,0.61,0.355,1), box-shadow 0.40s ease, margin 0.3s cubic-bezier(0.215,0.61,0.355,1)!important; transition: transform 0.7s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0.3s cubic-bezier(0.215,0.61,0.355,1), box-shadow 0.40s ease, margin 0.3s cubic-bezier(0.215,0.61,0.355,1)!important; }
#header-outer[data-full-width="true"][data-header-resize="0"] header > .container { -ms-transition: padding 0.35s cubic-bezier(0.215,0.61,0.355,1); transition: padding 0.35s cubic-bezier(0.215,0.61,0.355,1); -webkit-transition: padding 0.35s cubic-bezier(0.215,0.61,0.355,1); }
';
$trans_header = (!empty($options['transparent-header']) && $options['transparent-header'] == '1') ? $options['transparent-header'] : 'false';
$bg_header = (!empty($post->ID) && $post->ID != 0) ? using_page_header($post->ID) : 0;
$perm_trans = (!empty($options['header-permanent-transparent']) && $trans_header != 'false' && $bg_header == 'true') ? $options['header-permanent-transparent'] : 'false';
if($perm_trans != '1') {
echo '@media only screen and (max-width: 1000px) and (min-width: 690px) {
#header-outer,#nectar_fullscreen_rows, body #slide-out-widget-area-bg { margin-top: 0!important; }
}';
}
} else if ($body_border_color != '#ffffff' && $headerColorScheme == 'light' || $headerColorScheme == 'custom' && $body_border_color != $userSetBG ) {
echo '@media only screen and (min-width: 1001px) { #header-space { margin-top: '.$body_border_size.'px; } }';
echo 'html body.ascend[data-user-set-ocm="off"] #header-outer[data-full-width="true"] .cart-outer[data-user-set-ocm="off"] .cart-menu-wrap { right: '.intval($body_border_size) .'px!important; }
html body.ascend[data-user-set-ocm="1"] #header-outer[data-full-width="true"] .cart-outer[data-user-set-ocm="1"] .cart-menu-wrap { right: '.intval($body_border_size+77) .'px!important; }';
}
}
//// header transparent option
if(!empty($options['transparent-header']) && $options['transparent-header'] == '1') {
$activate_transparency = using_page_header($post->ID);
if($activate_transparency) {
//old IE versions
echo '.no-rgba #header-space { display: none; } ';
echo '@media only screen and (min-width: 1000px) {
#header-space {
display: none;
}
.nectar-slider-wrap.first-section, .parallax_slider_outer.first-section, .full-width-content.first-section,
.parallax_slider_outer.first-section .swiper-slide .content, .nectar-slider-wrap.first-section .swiper-slide .content, #page-header-bg, .nder-page-header, #page-header-wrap,
.full-width-section.first-section {
margin-top: 0!important;
}
body #page-header-bg, body #page-header-wrap {
height: '.$header_space.'px;
}
body #search-outer { z-index: 100000; }
}';
}
else if(!empty($options['header-bg-opacity'])) {
$header_space_bg_color = (!empty($options['overall-bg-color'])) ? $options['overall-bg-color'] : '#ffffff';
echo '#header-space { background-color: '.$header_space_bg_color.'}';
}
} //using transparent theme option
$activate_transparency = using_page_header($post->ID);
$header_extra_space_to_remove = $extra_secondary_height;
if($headerFormat == 'centered-menu-under-logo' || $headerFormat == 'centered-menu-bottom-bar') {
$header_extra_space_to_remove += 20;
} else {
$header_extra_space_to_remove += intval($header_padding);
}
/* desktop calcs for fullscreen headers/elements */
if( (!empty($options['transparent-header']) && $options['transparent-header'] == '1' && $activate_transparency) || $headerFormat == 'left-header'){
echo '@media only screen and (min-width: 1000px) {
#page-header-wrap.fullscreen-header,
#page-header-wrap.fullscreen-header #page-header-bg,
html:not(.nectar-box-roll-loaded) .nectar-box-roll > #page-header-bg.fullscreen-header,
.nectar_fullscreen_zoom_recent_projects,
#nectar_fullscreen_rows:not(.afterLoaded) > div {
height: 100vh;
}
.wpb_row.vc_row-o-full-height.top-level, .wpb_row.vc_row-o-full-height.top-level > .col.span_12 { min-height: 100vh; }';
if(is_admin_bar_showing()) {
echo '.admin-bar #page-header-wrap.fullscreen-header,
.admin-bar #page-header-wrap.fullscreen-header #page-header-bg,
.admin-bar .nectar_fullscreen_zoom_recent_projects,
.admin-bar #nectar_fullscreen_rows:not(.afterLoaded) > div {
height: calc(100vh - 32px);
}
.admin-bar .wpb_row.vc_row-o-full-height.top-level, .admin-bar .wpb_row.vc_row-o-full-height.top-level > .col.span_12 { min-height: calc(100vh - 32px); }';
}
if($headerFormat != 'left-header') {
echo '#page-header-bg[data-alignment-v="middle"] .span_6 .inner-wrap,
#page-header-bg[data-alignment-v="top"] .span_6 .inner-wrap {
padding-top: '. (intval($header_space) - $header_extra_space_to_remove) .'px;
}';
}
echo '.nectar-slider-wrap[data-fullscreen="true"]:not(.loaded), .nectar-slider-wrap[data-fullscreen="true"]:not(.loaded) .swiper-container {
height: calc(100vh + 2px)!important;
}
.admin-bar .nectar-slider-wrap[data-fullscreen="true"]:not(.loaded), .admin-bar .nectar-slider-wrap[data-fullscreen="true"]:not(.loaded) .swiper-container {
height: calc(100vh - 30px)!important;
}
}';
} else {
echo '@media only screen and (min-width: 1000px) {
body #ajax-content-wrap.no-scroll { min-height: calc(100vh - '. ($header_space) .'px); height: calc(100vh - '. ($header_space) .'px)!important; }
}';
echo '@media only screen and (min-width: 1000px) {
#page-header-wrap.fullscreen-header,
#page-header-wrap.fullscreen-header #page-header-bg,
html:not(.nectar-box-roll-loaded) .nectar-box-roll > #page-header-bg.fullscreen-header,
.nectar_fullscreen_zoom_recent_projects,
#nectar_fullscreen_rows:not(.afterLoaded) > div {
height: calc(100vh - '. ($header_space - 1) .'px);
}
.wpb_row.vc_row-o-full-height.top-level, .wpb_row.vc_row-o-full-height.top-level > .col.span_12 { min-height: calc(100vh - '. ($header_space - 1) .'px); }
html:not(.nectar-box-roll-loaded) .nectar-box-roll > #page-header-bg.fullscreen-header { top: '.$header_space.'px; }';
if(is_admin_bar_showing()) {
echo '.admin-bar #page-header-wrap.fullscreen-header,
.admin-bar #page-header-wrap.fullscreen-header #page-header-bg,
.admin-bar .nectar_fullscreen_zoom_recent_projects,
.admin-bar #nectar_fullscreen_rows:not(.afterLoaded) > div {
height: calc(100vh - '. ($header_space - 1) .'px - 32px);
}
.admin-bar .wpb_row.vc_row-o-full-height.top-level, .admin-bar .wpb_row.vc_row-o-full-height.top-level > .col.span_12 { min-height: calc(100vh - '. ($header_space - 1) .'px - 32px); }';
}
echo '.nectar-slider-wrap[data-fullscreen="true"]:not(.loaded), .nectar-slider-wrap[data-fullscreen="true"]:not(.loaded) .swiper-container {
height: calc(100vh - '. ($header_space - 2) .'px)!important;
}
.admin-bar .nectar-slider-wrap[data-fullscreen="true"]:not(.loaded), .admin-bar .nectar-slider-wrap[data-fullscreen="true"]:not(.loaded) .swiper-container {
height: calc(100vh - '. ($header_space - 2) .'px - 32px)!important;
}
}';
}
global $woocommerce;
if($woocommerce && $woocommerce->cart->cart_contents_count > 0 && !empty($options['enable-cart']) && $options['enable-cart'] == '1' && !empty($options['header-fullwidth']) && $options['header-fullwidth'] == '1') {
echo '@media only screen and (min-width: 1080px) {
body:not(.material) #header-outer[data-full-width="true"] header#top nav > ul.product_added.buttons {
padding-right: 80px!important;
}
body:not(.ascend):not(.material) #header-outer[data-full-width="true"][data-remove-border="true"].transparent header#top nav > ul.product_added .slide-out-widget-area-toggle,
body:not(.ascend):not(.material) #header-outer[data-full-width="true"][data-remove-border="true"].side-widget-open header#top nav > ul.product_added .slide-out-widget-area-toggle {
margin-right: -20px!important;
}
}';
} elseif($woocommerce && !empty($options['enable-cart']) && $options['enable-cart'] == '1' && !empty($options['header-fullwidth']) && $options['header-fullwidth'] == '1') {
echo '@media only screen and (min-width: 1080px) {
body:not(.material) #header-outer[data-full-width="true"] header#top nav > ul.product_added.buttons {
padding-right: 80px!important;
}
body:not(.ascend):not(.material) #header-outer[data-full-width="true"][data-remove-border="true"].transparent header#top nav > ul.product_added .slide-out-widget-area-toggle,
body:not(.ascend):not(.material) #header-outer[data-full-width="true"][data-remove-border="true"].side-widget-open header#top nav > ul.product_added .slide-out-widget-area-toggle {
margin-right: -20px!important;
}
}';
}
if($woocommerce && !empty($options['product_archive_bg_color'])) {
echo '.post-type-archive-product.woocommerce .container-wrap, .tax-product_cat.woocommerce .container-wrap { background-color: '.$options['product_archive_bg_color'].'; } ';
}
if($woocommerce && !empty($options['product_bg_color'])) {
echo '.woocommerce ul.products li.product.material, .woocommerce-page ul.products li.product.material { background-color: '.$options['product_bg_color'].'; }';
}
if($woocommerce && !empty($options['product_minimal_bg_color'])) {
echo '.woocommerce ul.products li.product.minimal .product-wrap, .woocommerce ul.products li.product.minimal .background-color-expand,
.woocommerce-page ul.products li.product.minimal .product-wrap, .woocommerce-page ul.products li.product.minimal .background-color-expand { background-color: '.$options['product_minimal_bg_color'].'; }';
}
if($woocommerce && !empty($options['product_tab_position']) && $options['product_tab_position'] == 'fullwidth') echo '
.woocommerce.single-product #single-meta { position: relative!important; top: 0!important; margin: 0; left: 8px; height: auto; }
.woocommerce.single-product #single-meta:after { display: block; content: " "; clear: both; height: 1px; }
.woocommerce-tabs { margin-top: 40px; clear: both; }
@media only screen and (min-width: 1000px) {
.woocommerce #reviews #comments, .woocommerce #reviews #review_form_wrapper { float: left; width: 47%; }
.woocommerce #reviews #comments { margin-right: 3%; width: 50%; }
.ascend.woocommerce #respond { margin-top: 0px!important; }
.rtl.woocommerce #reviews #comments, .woocommerce #reviews #review_form_wrapper { float: right;}
.rtl.woocommerce #reviews #comments { margin-left: 3%; margin-right: 0;}
.woocommerce .woocommerce-tabs > div { margin-top: 15px!important; }
.woocommerce #reviews #reply-title { margin-top: 5px!important; }
}';
if($woocommerce && $woocommerce->cart->cart_contents_count > 0 && !empty($options['enable-cart']) && $options['enable-cart'] == '1') {
echo '@media only screen and (min-width: 1080px) and (max-width: 1475px) {
header#top nav > ul.buttons {
padding-right: 20px!important;
}
#boxed header#top nav > ul.product_added.buttons {
padding-right: 0px!important;
}
#search-outer #search #close a {
right: 110px;
}
}';
}
elseif($woocommerce && !empty($options['enable-cart']) && $options['enable-cart'] == '1') {
echo '@media only screen and (min-width: 1080px) and (max-width: 1475px) {
header#top nav > ul.product_added {
padding-right: 20px!important;
}
#boxed header#top nav > ul.product_added.buttons {
padding-right: 0px!important;
}
#search-outer #search #close a.product_added {
right: 110px;
}
}';
}
//boxed css
if(!empty($options['boxed_layout']) && $options['boxed_layout'] == '1') {
$attachment = $options["background-attachment"];
$position = $options["background-position"];
$repeat = $options["background-repeat"];
$background_color = $options["background-color"];
echo 'body {
background-image: url("'.nectar_options_img($options["background_image"]).'");
background-position: '.$position.';
background-repeat: '.$repeat.';
background-color: '.$background_color.'!important;
background-attachment: '.$attachment.';';
if(!empty($options["background-cover"]) && $options["background-cover"] == '1') {
echo 'background-size: cover;
-moz-background-size: cover;
-webkit-background-size: cover;
-o-background-size: cover;';
}
echo '}';
}
//blog next post coloring
if(is_singular('post')){
$next_post = get_previous_post();
if (!empty( $next_post )) {
$blog_next_bg_color = get_post_meta($next_post->ID, '_nectar_header_bg_color', true);
$blog_next_font_color = get_post_meta($next_post->ID, '_nectar_header_font_color', true);
if(!empty($blog_next_font_color)){
echo '.blog_next_prev_buttons .col h3, .blog_next_prev_buttons span {
color: '.$blog_next_font_color.';
}';
}
if(!empty($blog_next_bg_color)){
echo '.blog_next_prev_buttons {
background-color: '.$blog_next_bg_color.';
}';
}
}
}
$dynamic_css = ob_get_contents();
ob_end_clean();
return nectar_quick_minify($dynamic_css);
}
}
function generate_options_css() {
$options = get_nectar_theme_options();
if(!empty($options['external-dynamic-css']) && $options['external-dynamic-css'] == 1){
$css_dir = get_stylesheet_directory() . '/css/'; // Shorten code, save 1 call
ob_start(); // Capture all output (output buffering)
//include css
nectar_colors_css_output();
nectar_custom_css_output();
//if(!empty($options['use-custom-fonts']) && $options['use-custom-fonts'] == 1){
nectar_fonts_output();
//}
$css = ob_get_clean(); // Get generated CSS (output buffering)
file_put_contents($css_dir . 'dynamic-combined.css', $css, LOCK_EX); // Save it
}
}
function nectar_enqueue_dynamic_css() {
wp_register_style('dynamic-css', get_stylesheet_directory_uri() . '/css/dynamic-combined.css', '', '8.6.0');
wp_enqueue_style( 'dynamic-css');
//handle page specific dynamic - as of v8.5.6
$nectar_page_specific_dynamic_css = nectar_page_specific_dynamic();
wp_add_inline_style( 'dynamic-css', $nectar_page_specific_dynamic_css );
}
//loaded in head
$external_dynamic = (!empty($options['external-dynamic-css']) && $options['external-dynamic-css'] == 1) ? 'on' : 'off';
if($external_dynamic != 'on') {
add_action('wp_head', 'nectar_colors_css_output');
add_action('wp_head', 'nectar_custom_css_output');
add_action('wp_head', 'nectar_fonts_output');
}
//written to static css file
else {
add_action('wp_enqueue_scripts', 'nectar_enqueue_dynamic_css');
}
$font_fields = array('navigation_font_family','navigation_dropdown_font_family','page_heading_font_family','page_heading_subtitle_font_family','off_canvas_nav_font_family','off_canvas_nav_subtext_font_family','body_font_family','h1_font_family','h2_font_family','h3_font_family','h4_font_family','h5_font_family','h6_font_family','i_font_family','label_font_family','nectar_slider_heading_font_family','home_slider_caption_font_family','testimonial_font_family','sidebar_footer_h_font_family','team_member_h_font_family','nectar_dropcap_font_family');
if( !function_exists('nectar_lovelo_font')) {
function nectar_lovelo_font(){
echo "
<!-- A font fabric font - http://fontfabric.com/lovelo-font/ -->
<style> @font-face { font-family: 'Lovelo'; src: url('".get_template_directory_uri()."/css/fonts/Lovelo_Black.eot'); src: url('".get_template_directory_uri()."/css/fonts/Lovelo_Black.eot?#iefix') format('embedded-opentype'), url('".get_template_directory_uri()."/css/fonts/Lovelo_Black.woff') format('woff'), url('".get_template_directory_uri()."/css/fonts/Lovelo_Black.ttf') format('truetype'), url('".get_template_directory_uri()."/css/fonts/Lovelo_Black.svg#loveloblack') format('svg'); font-weight: normal; font-style: normal; } </style>";
}
}
foreach($font_fields as $k => $v){
if(isset($options[$v]['font-family']) && $options[$v]['font-family'] == 'Lovelo, sans-serif') {
add_action('wp_head', 'nectar_lovelo_font');
break;
}
}
#-----------------------------------------------------------------#
# Post formats
#-----------------------------------------------------------------#
add_theme_support( 'post-formats', array('quote','video','audio','gallery','link') );
#-----------------------------------------------------------------#
# Category Custom Meta
#-----------------------------------------------------------------#
include("nectar/meta/category-meta.php");
#-----------------------------------------------------------------#
# Automatic Feed Links
#-----------------------------------------------------------------#
if(function_exists('add_theme_support')) {
add_theme_support('automatic-feed-links');
}
#-----------------------------------------------------------------#
# Image sizes
#-----------------------------------------------------------------#
if (!function_exists('nectar_add_image_sizes')) {
function nectar_add_image_sizes(){
add_theme_support( 'post-thumbnails' );
add_image_size( 'portfolio-thumb', 600, 403, true );
add_image_size( 'portfolio-thumb_small', 400, 269, true );
add_image_size( 'portfolio-widget', 100, 100, true );
add_image_size( 'nectar_small_square', 140, 140, true );
global $options;
$masonry_sizing_type = (!empty($options['portfolio_masonry_grid_sizing']) && $options['portfolio_masonry_grid_sizing'] == 'photography') ? 'photography' : 'default';
if($masonry_sizing_type != 'photography') {
add_image_size( 'wide', 1000, 500, true );
add_image_size( 'wide_small', 670, 335, true );
add_image_size( 'regular', 500, 500, true );
add_image_size( 'regular_small', 350, 350, true );
add_image_size( 'tall', 500, 1000, true );
add_image_size( 'wide_tall', 1000, 1000, true );
add_image_size( 'wide_photography', 900, 600, true );
} else {
//these two are still needed for meta overlaid masonry blog
add_image_size( 'regular', 500, 500, true );
add_image_size( 'regular_small', 350, 350, true );
add_image_size( 'wide_tall', 1000, 1000, true );
add_image_size( 'wide_photography', 900, 600, true );
add_image_size( 'wide_photography_small', 675, 450, true );
add_image_size( 'regular_photography', 450, 600, true );
add_image_size( 'regular_photography_small', 350, 467, true );
add_image_size( 'wide_tall_photography', 900, 1200, true );
}
add_image_size( 'large_featured', 1700, 700, true );
add_image_size( 'medium_featured', 800, 800, true );
//add_image_size( 'disable_crop', 800, 800, true );
}
}
nectar_add_image_sizes();
function nectar_list_thumbnail_sizes(){
global $_wp_additional_image_sizes;
$sizes = array();
foreach( get_intermediate_image_sizes() as $s ){
$sizes[ $s ] = array( 0, 0 );
if( in_array( $s, array( 'thumbnail', 'medium', 'large' ) ) ){
$sizes[ $s ][0] = get_option( $s . '_size_w' );
$sizes[ $s ][1] = get_option( $s . '_size_h' );
}else{
if( isset( $_wp_additional_image_sizes ) && isset( $_wp_additional_image_sizes[ $s ] ) )
$sizes[ $s ] = array( $_wp_additional_image_sizes[ $s ]['width'], $_wp_additional_image_sizes[ $s ]['height'], );
}
}
foreach( $sizes as $size => $atts ){
echo $size . ' ' . implode( 'x', $atts ) . "\n";
}
}
#-----------------------------------------------------------------#
# Custom menu
#-----------------------------------------------------------------#
if ( function_exists( 'register_nav_menus' ) ) {
$sideWidgetArea = (!empty($options['header-slide-out-widget-area'])) ? $options['header-slide-out-widget-area'] : 'off';
$usingPRCompatLayout = false;
$usingTopLeftRightCompatLayout = false;
if( !empty($options['header_format']) && $options['header_format'] == 'menu-left-aligned' || $options['header_format'] == 'centered-menu' ) {
$usingPRCompatLayout = true;
}
if( !empty($options['header_format']) && $options['header_format'] == 'centered-menu-bottom-bar') {
$usingTopLeftRightCompatLayout = true;
}
if($sideWidgetArea == '1') {
if($usingPRCompatLayout == true) {
$nectar_menu_arr = array(
'top_nav' => 'Top Navigation Menu',
'top_nav_pull_right' => 'Top Navigation Menu Pull Right',
'secondary_nav' => 'Secondary Navigation Menu <br /> <small>Will only display if applicable header layout is selected.</small>',
'off_canvas_nav' => 'Off Canvas Navigation Menu'
);
} else if($usingTopLeftRightCompatLayout == true) {
$nectar_menu_arr = array(
'top_nav' => 'Top Navigation Menu',
'top_nav_pull_left' => 'Top Navigation Menu Pull Left',
'off_canvas_nav' => 'Off Canvas Navigation Menu'
);
} else {
$nectar_menu_arr = array(
'top_nav' => 'Top Navigation Menu',
'secondary_nav' => 'Secondary Navigation Menu <br /> <small>Will only display if applicable header layout is selected.</small>',
'off_canvas_nav' => 'Off Canvas Navigation Menu'
);
}
} else {
if($usingPRCompatLayout == true) {
$nectar_menu_arr = array(
'top_nav' => 'Top Navigation Menu',
'top_nav_pull_right' => 'Top Navigation Menu Pull Right',
'secondary_nav' => 'Secondary Navigation Menu <br /> <small>Will only display if applicable header layout is selected.</small>'
);
} else {
$nectar_menu_arr = array(
'top_nav' => 'Top Navigation Menu',
'secondary_nav' => 'Secondary Navigation Menu <br /> <small>Will only display if applicable header layout is selected.</small>'
);
}
}
register_nav_menus($nectar_menu_arr);
}
//dropdown arrows
if ( !function_exists( 'nectar_walker_nav_menu' ) ) {
function nectar_walker_nav_menu() {
class Nectar_Arrow_Walker_Nav_Menu extends Walker_Nav_Menu {
function display_element($element, &$children_elements, $max_depth, $depth=0, $args, &$output) {
$id_field = $this->db_fields['id'];
global $options;
$theme_skin = (!empty($options['theme-skin'])) ? $options['theme-skin'] : 'original' ;
$headerFormat = (!empty($options['header_format'])) ? $options['header_format'] : 'default';
$dropdownArrows = (!empty($options['header-dropdown-arrows']) && $headerFormat != 'left-header' ) ? $options['header-dropdown-arrows'] : 'inherit';
if($headerFormat == 'centered-menu-bottom-bar') $theme_skin = 'material';
if($theme_skin == 'material') {
$theme_skin = 'ascend';
}
$headerFormat = (!empty($options['header_format'])) ? $options['header_format'] : 'default';
//button styling
$button_style = get_post_meta( $element->$id_field, 'menu-item-nectar-button-style', true);
if(!empty($button_style))
$element->classes[] = $button_style;
if (!empty($children_elements[$element->$id_field]) && $element->menu_item_parent == 0 && $theme_skin !='ascend' && $headerFormat != 'left-header' && $dropdownArrows != 'dont_show' ||
!empty($children_elements[$element->$id_field]) && $element->menu_item_parent == 0 && $dropdownArrows == 'show') {
$element->title = $element->title . '<span class="sf-sub-indicator"><i class="icon-angle-down"></i></span>';
$element->classes[] = 'sf-with-ul';
}
if (!empty($children_elements[$element->$id_field]) && $element->menu_item_parent != 0 && $headerFormat != 'left-header') {
$element->title = $element->title . '<span class="sf-sub-indicator"><i class="icon-angle-right"></i></span>';
}
if(empty($button_style) && $headerFormat == 'left-header')
$element->title = '<span>'. $element->title . '</span>';
Walker_Nav_Menu::display_element($element, $children_elements, $max_depth, $depth, $args, $output);
}
}
}
}
nectar_walker_nav_menu();
if ( !function_exists( 'nectar_description_walker_nav_menu' ) ) {
function nectar_description_walker_nav_menu( $item_output, $item, $depth, $args ) {
if ( 'off_canvas_nav' == $args->theme_location && $item->description ) {
$item_output = str_replace( $args->link_after . '</a>', $args->link_after . '</a><small class="nav_desc">' . $item->description . '</small>', $item_output );
}
return $item_output;
}
}
add_filter( 'walker_nav_menu_start_el', 'nectar_description_walker_nav_menu', 10, 4 );
//menu button style option
require_once('nectar/assets/functions/wp-menu-custom-items/menu-item-custom-fields.php');
if(!function_exists('nectar_nav_button_style')) {
add_action('wp_nav_menu_item_custom_fields', 'nectar_nav_button_style', 10, 4);
$nectar_custom_menu_fields = array(
'menu-item-nectar-button-style' => ''
);
function nectar_nav_button_style($output, $item, $depth, $args) {
$item_id = $item->ID;
$name = "menu-item-nectar-button-style";
$value = get_post_meta($item_id, $name, true);
?>
<p class="description description-wide">
<label for="<?php echo $name . "-". $item_id;?>">
<?php echo __( 'Menu Item Style','salient'); ?> <br />
<select id="<?php echo $name . "-". $item_id; ?>" class="widefat edit-menu-item-target" name="<?php echo $name . "[".$item_id."]"; ?>">
<option value="" <?php selected( $value, ''); ?>><?php echo __('Standard', 'salient'); ?> </option>
<option value="button_solid_color" <?php selected( $value, 'button_solid_color'); ?>><?php echo __('Button Accent Color', 'salient'); ?> </option>
<option value="button_solid_color_2" <?php selected( $value, 'button_solid_color_2'); ?>><?php echo __('Button Extra Color #1', 'salient'); ?> </option>
<option value="button_bordered" <?php selected( $value, 'button_bordered'); ?>><?php echo __('Button Bordered Accent Color', 'salient'); ?> </option>
<option value="button_bordered_2" <?php selected( $value, 'button_bordered_2'); ?>><?php echo __('Button Bordered Extra Color #1', 'salient'); ?> </option>
</select>
</label>
</p>
<?php }
add_action( 'wp_update_nav_menu_item', 'nectar_nav_button_style_update', 10, 3 );
function nectar_nav_button_style_update( $menu_id, $menu_item_db_id, $menu_item_args ) {
$current_screen = get_current_screen();
//fix auto add new pages to top nav
$on_post_type = ($current_screen && isset($current_screen->post_type) && !empty($current_screen->post_type) ) ? true : false;
global $nectar_custom_menu_fields;
if ( defined( 'DOING_AJAX' ) && DOING_AJAX || $on_post_type) {
return;
}
check_admin_referer( 'update-nav_menu', 'update-nav-menu-nonce' );
foreach ( $nectar_custom_menu_fields as $key => $label ) {
// Sanitize
if ( ! empty( $_POST[ $key ][ $menu_item_db_id ] ) ) {
// Do some checks here...
$value = sanitize_text_field($_POST[ $key ][ $menu_item_db_id ]);
}
else {
$value = null;
}
// Update
if ( ! is_null( $value ) ) {
update_post_meta( $menu_item_db_id, $key, $value );
}
else {
delete_post_meta( $menu_item_db_id, $key );
}
}
}
}
#-----------------------------------------------------------------#
# TGM
#-----------------------------------------------------------------#
$nectar_disable_tgm = (!empty($options['disable_tgm']) && $options['disable_tgm'] == '1') ? true : false;
if(!$nectar_disable_tgm) {
require_once('nectar/tgm-plugin-activation/class-tgm-plugin-activation.php');
require_once('nectar/tgm-plugin-activation/required_plugins.php');
}
#-----------------------------------------------------------------#
# Nectar VC
#-----------------------------------------------------------------#
//Add Nectar Functionality to VC/*
if (class_exists('WPBakeryVisualComposerAbstract') && defined( 'SALIENT_VC_ACTIVE')) {
function add_nectar_to_vc(){
if(version_compare(WPB_VC_VERSION,'4.9','>=')) {
require_once locate_template('/nectar/nectar-vc-addons/nectar-addons.php');
} else {
require_once locate_template('/nectar/nectar-vc-addons/nectar-addons-no-lean.php');
}
}
add_action('init','add_nectar_to_vc', 5);
add_action('admin_enqueue_scripts', 'nectar_vc_styles');
function nectar_vc_styles() {
global $nectar_get_template_directory_uri;
wp_enqueue_style('nectar_vc', $nectar_get_template_directory_uri .'/nectar/nectar-vc-addons/nectar-addons.css', array(), '9.0', 'all');
}
function nectar_vc_library_cat_list() {
return array( __('All','salient') => 'all',
__('About','salient') => 'about',
__('Blog','salient') => 'blog',
__('Call To Action','salient') => 'cta',
__('Counters','salient') => 'counters',
__('General','salient') => 'general',
__('Icons','salient') => 'icons',
__('Hero Section','salient') => 'hero_section',
__('Map','salient') => 'map',
__('Project','salient') => 'portfolio',
__('Pricing','salient') => 'pricing',
__('Services','salient') => 'services',
__('Team','salient') => 'team',
__('Testimonials','salient') => 'testimonials',
__('Shop','salient') => 'shop');
}
if(!function_exists('add_salient_studio_to_vc')) {
function add_salient_studio_to_vc() {
if (is_admin()) {
require_once locate_template('/nectar/nectar-vc-addons/salient-studio-templates.php');
}
}
}
add_salient_studio_to_vc();
} else if (class_exists('WPBakeryVisualComposerAbstract')) {
function nectar_font_awesome() {
global $nectar_get_template_directory_uri;
wp_enqueue_style('font-awesome', $nectar_get_template_directory_uri . '/css/font-awesome.min.css');
}
if (!is_admin()) {
add_action('init','nectar_font_awesome', 99);
}
}
#-----------------------------------------------------------------#
# Theme Skin
#-----------------------------------------------------------------#
$nectar_theme_skin = ( !empty($options['theme-skin']) ) ? $options['theme-skin'] : 'original';
$headerFormat = (!empty($options['header_format'])) ? $options['header_format'] : 'default';
if($headerFormat == 'centered-menu-bottom-bar') $nectar_theme_skin = 'material';
add_filter('body_class','nectar_theme_skin_class');
function nectar_theme_skin_class($classes) {
global $nectar_theme_skin;
// add 'class-name' to the $classes array
$classes[] = $nectar_theme_skin;
// return the $classes array
return $classes;
}
function nectar_theme_skin_css(){
global $nectar_theme_skin;
wp_enqueue_style('skin-'.$nectar_theme_skin);
}
add_action('wp_enqueue_scripts', 'nectar_theme_skin_css');
#-----------------------------------------------------------------#
# Ajax Search
#-----------------------------------------------------------------#
if (!function_exists('nectar_add_ajax_to_search')) {
function nectar_add_ajax_to_search() {
global $nectar_theme_skin;
$ajax_search = (!empty($options['header-disable-ajax-search']) && $options['header-disable-ajax-search'] == '1') ? 'no' : 'yes';
$headerSearch = (!empty($options['header-disable-search']) && $options['header-disable-search'] == '1') ? 'false' : 'true';
if($ajax_search == 'yes' && $headerSearch != 'false' && $nectar_theme_skin != 'material' ){
require_once('nectar/assets/functions/ajax-search/wp-search-suggest.php');
}
}
}
nectar_add_ajax_to_search();
#-----------------------------------------------------------------#
# If Using Ajaxify
#-----------------------------------------------------------------#
function ajaxify_non_cached_scripts( $url ) {
if ( FALSE !== strpos( $url, 'nectar-slider.js' )) {
//return "$url' class='always";
}
if( FALSE !== strpos( $url, 'vc_chart.js' )) {
return "$url' class='always";
}
if( FALSE !== strpos( $url, 'ProgressCircle.js' )){
return "$url' class='always";
}
// not our file
return $url;
}
if(!empty($options['ajax-page-loading']) && $options['ajax-page-loading'] == '1') {
add_filter( 'clean_url', 'ajaxify_non_cached_scripts', 11, 1 );
}
#-----------------------------------------------------------------#
# Site Title
#-----------------------------------------------------------------#
function theme_slug_setup() {
add_theme_support( 'title-tag' );
}
add_action( 'after_setup_theme', 'theme_slug_setup' );
if ( ! function_exists( '_wp_render_title_tag' ) ) {
function theme_slug_render_title() { ?>
<title><?php wp_title( '|', true, 'right' ); ?></title> <?php
}
add_action( 'wp_head', 'theme_slug_render_title' );
}
#-----------------------------------------------------------------#
# Widget areas
#-----------------------------------------------------------------#
if(function_exists('register_sidebar')) {
register_sidebar(array('name' => 'Blog Sidebar', 'id' => 'blog-sidebar', 'before_widget' => '<div id="%1$s" class="widget %2$s">','after_widget' => '</div>', 'before_title' => '<h4>', 'after_title' => '</h4>'));
register_sidebar(array('name' => 'Page Sidebar', 'id' => 'page-sidebar','before_widget' => '<div id="%1$s" class="widget %2$s">','after_widget' => '</div>', 'before_title' => '<h4>', 'after_title' => '</h4>'));
register_sidebar(array('name' => 'WooCommerce Sidebar', 'id' => 'woocommerce-sidebar', 'before_widget' => '<div id="%1$s" class="widget %2$s">','after_widget' => '</div>', 'before_title' => '<h4>', 'after_title' => '</h4>'));
register_sidebar(array('name' => 'Extra Sidebar', 'id' => 'nectar-extra-sidebar', 'before_widget' => '<div id="%1$s" class="widget %2$s">','after_widget' => '</div>', 'before_title' => '<h4>', 'after_title' => '</h4>'));
register_sidebar(array('name' => 'Footer Area 1', 'id' => 'footer-area-1', 'before_widget' => '<div id="%1$s" class="widget %2$s">','after_widget' => '</div>', 'before_title' => '<h4>', 'after_title' => '</h4>'));
global $options;
$footerColumns = (!empty($options['footer_columns'])) ? $options['footer_columns'] : '4';
$copyright_footer_layout = (!empty($options['footer-copyright-layout'])) ? $options['footer-copyright-layout'] : 'default';
if($footerColumns == '2' || $footerColumns == '3' || $footerColumns == '4' || $footerColumns == '5'){
register_sidebar(array('name' => 'Footer Area 2', 'id' => 'footer-area-2','before_widget' => '<div id="%1$s" class="widget %2$s">','after_widget' => '</div>', 'before_title' => '<h4>', 'after_title' => '</h4>'));
}
if($footerColumns == '3' || $footerColumns == '4' || $footerColumns == '5'){
register_sidebar(array('name' => 'Footer Area 3', 'id' => 'footer-area-3', 'before_widget' => '<div id="%1$s" class="widget %2$s">','after_widget' => '</div>', 'before_title' => '<h4>', 'after_title' => '</h4>'));
}
if($footerColumns == '4' || $footerColumns == '5'){
register_sidebar(array('name' => 'Footer Area 4', 'id' => 'footer-area-4', 'before_widget' => '<div id="%1$s" class="widget %2$s">','after_widget' => '</div>', 'before_title' => '<h4>', 'after_title' => '</h4>'));
}
$sideWidgetArea = (!empty($options['header-slide-out-widget-area'])) ? $options['header-slide-out-widget-area'] : 'off';
if($sideWidgetArea == '1') {
register_sidebar(array('name' => 'Off Canvas Menu', 'id' => 'slide-out-widget-area', 'before_widget' => '<div id="%1$s" class="widget %2$s">','after_widget' => '</div>', 'before_title' => '<h4>', 'after_title' => '</h4>'));
}
if($copyright_footer_layout == 'centered' || $footerColumns == '1') {
register_sidebar(array('name' => 'Footer Copyright', 'id' => 'footer-area-copyright','before_widget' => '<div id="%1$s" class="widget %2$s">','after_widget' => '</div>', 'before_title' => '<h4>', 'after_title' => '</h4>'));
}
}
#-----------------------------------------------------------------#
# Custom widgets
#-----------------------------------------------------------------#
//Recent Posts Extra
include('includes/custom-widgets/recent-posts-extra-widget.php');
//Recent portfolio items
include('includes/custom-widgets/recent-projects-widget.php');
//Recent portfolio items
include('includes/custom-widgets/popular-posts.php');
function register_nectar_popular_posts_widget() {
register_widget( 'Nectar_Popular_Posts' );
}
add_action( 'widgets_init', 'register_nectar_popular_posts_widget' );
//allow shortcodes in text widget
add_filter('widget_text', 'do_shortcode');
#-----------------------------------------------------------------#
# Nectar Hooks
#-----------------------------------------------------------------#
function nectar_hook_after_body_open() {
do_action('nectar_hook_after_body_open');
}
function nectar_hook_before_body_close() {
do_action('nectar_hook_before_body_close');
}
function nectar_hook_pull_right_menu_items() {
do_action('nectar_hook_pull_right_menu_items');
}
function nectar_hook_secondary_header_menu_items() {
do_action('nectar_hook_secondary_header_menu_items');
}
function nectar_hook_before_footer_widget_area() {
do_action('nectar_hook_before_footer_widget_area');
}
function nectar_hook_after_footer_widget_area() {
do_action('nectar_hook_after_footer_widget_area');
}
function nectar_hook_ocm_bottom_meta() {
do_action('nectar_hook_ocm_bottom_meta');
}
#-----------------------------------------------------------------#
# Excerpt related
#-----------------------------------------------------------------#
//excerpt length
if(!function_exists('excerpt_length')){
function excerpt_length( $length ) {
global $options;
$excerpt_length = (!empty($options['blog_excerpt_length'])) ? intval($options['blog_excerpt_length']) : 30;
return $excerpt_length;
}
}
add_filter( 'excerpt_length', 'excerpt_length', 999 );
//custom excerpt ending
if(!function_exists('excerpt_more')){
function excerpt_more( $more ) {
return '...';
}
}
add_filter('excerpt_more', 'excerpt_more');
if (!function_exists('nectar_set_post_views')) {
function nectar_set_post_views() {
global $post;
if ( get_post_type() == 'post' && is_single() ) {
$post_id = $post->ID;
if ( !empty($post_id) ) {
$the_view_count = get_post_meta( $post_id, 'nectar_blog_post_view_count', true );
if ( $the_view_count != '' ) {
$the_view_count = intval($the_view_count);
$the_view_count++;
update_post_meta( $post_id, 'nectar_blog_post_view_count', $the_view_count );
} else {
$the_view_count = 0;
delete_post_meta( $post_id, 'nectar_blog_post_view_count' );
add_post_meta( $post_id, 'nectar_blog_post_view_count' , '0' );
}
}
}
}
}
add_action('wp_head', 'nectar_set_post_views');
if(!function_exists('nectar_excerpt')){
function nectar_excerpt($limit) {
if(has_excerpt()) {
$the_excerpt = get_the_excerpt();
$the_excerpt = preg_replace('/\[[^\]]+\]/', '', $the_excerpt); # strip shortcodes, keep shortcode content
return wp_trim_words($the_excerpt, $limit);
} else {
$the_content = get_the_content();
$the_content = preg_replace('/\[[^\]]+\]/', '', $the_content); # strip shortcodes, keep shortcode content
return wp_trim_words($the_content, $limit);
}
}
}
//fixing filtering for shortcodes
function shortcode_empty_paragraph_fix($content){
$array = array (
'<p>[' => '[',
']</p>' => ']',
']<br />' => ']'
);
$content = strtr($content, $array);
return $content;
}
add_filter('the_content', 'shortcode_empty_paragraph_fix');
//remove the page jump when clicking read more button
function remove_more_jump_link($link) {
$offset = strpos($link, '#more-');
if ($offset) {
$end = strpos($link, '"',$offset);
}
if ($end) {
$link = substr_replace($link, '', $offset, $end-$offset);
}
return $link;
}
add_filter('the_content_more_link', 'remove_more_jump_link');
if(!function_exists('nectar_auto_gallery_lightbox')){
function nectar_auto_gallery_lightbox($content){
preg_match_all('/<a(.*?)href=(?:\'|")([^<]*?).(bmp|gif|jpeg|jpg|png)(?:\'|")(.*?)>/i', $content, $links);
if(isset($links[0])) {
$rel_hash = '[gallery-'.wp_generate_password(4, FALSE, FALSE).']';
foreach($links[0] as $id => $link) {
if(preg_match('/<a.*?rel=(?:\'|")(.*?)(?:\'|").*?>/', $link, $result) === 1) {
$content = str_replace($link, preg_replace('/rel=(?:\'|")(.*?)(?:\'|")/', 'rel="prettyPhoto'.$rel_hash.'"', $link), $content);
}
else {
$content = str_replace($link, '<a'.$links[1][$id].'href="'.$links[2][$id].'.'.$links[3][$id].'"'.$links[4][$id].' rel="prettyPhoto'. $rel_hash .'">', $content);
}
}
}
return $content;
}
}
if(!empty($options['default-lightbox']) && $options['default-lightbox'] == '1'){
add_filter('the_content', 'nectar_auto_gallery_lightbox');
add_filter('body_class','nectar_auto_gallery_lightbox_class');
function nectar_auto_gallery_lightbox_class($classes) {
// add 'class-name' to the $classes array
$classes[] = 'nectar-auto-lightbox';
// return the $classes array
return $classes;
}
}
#-----------------------------------------------------------------#
# Add URL option into attachment details for visual composer image gallery element
#-----------------------------------------------------------------#
function nectar_add_attachment_field_credit( $form_fields, $post ) {
$form_fields['image-url'] = array(
'label' => 'Image URL',
'input' => 'text',
'value' => get_post_meta( $post->ID, 'nectar_image_gal_url', true ),
'helps' => ''
);
$form_fields['shape-bg-color'] = array(
'label' => 'BG Color',
'input' => 'text',
'value' => esc_attr( get_post_meta( $post->ID, 'nectar_particle_shape_bg_color', true ) ),
'helps' => 'Enter your color in hex format e.g. "#1ed760'
);
$image_gal_masonry_sizing_mapping = null;
$image_gal_masonry_sizing_mapping_options = array('regular'=>'Regular', 'wide'=>'Wide', 'tall'=>'Tall', 'wide_tall'=>'Wide & Tall');
$meta = get_post_meta( $post->ID, 'nectar_image_gal_masonry_sizing', true );
foreach( $image_gal_masonry_sizing_mapping_options as $key => $option ) {
$image_gal_masonry_sizing_mapping .= '<option value="' . $key . '"';
if( $meta ){
if( $meta == $key ) $image_gal_masonry_sizing_mapping .= ' selected="selected"';
}
$image_gal_masonry_sizing_mapping .= '>'. $option .'</option>';
}
$color_mapping = null;
$color_mapping_options = array('original'=>'Original', 'solid'=>'Solid Color', 'random'=>'Random');
$meta = get_post_meta( $post->ID, 'nectar_particle_shape_color_mapping', true );
foreach( $color_mapping_options as $key => $option ) {
$color_mapping .= '<option value="' . $key . '"';
if( $meta ){
if( $meta == $key ) $color_mapping .= ' selected="selected"';
}
$color_mapping .= '>'. $option .'</option>';
}
$density = null;
$density_options = array('very_low'=>'Very Low', 'low'=>'Low', 'medium'=>'Medium', 'high'=>'High', 'very_high'=>'Very High');
$meta = get_post_meta( $post->ID, 'nectar_particle_shape_density', true );
foreach( $density_options as $key => $option ) {
$density .= '<option value="' . $key . '"';
if( $meta ){
if( $meta == $key ) $density .= ' selected="selected"';
}
$density .= '>'. $option .'</option>';
}
$alpha = null;
$alpha_options = array('original'=>'Original', 'random'=>'Random');
$meta = get_post_meta( $post->ID, 'nectar_particle_shape_color_alpha', true );
foreach( $alpha_options as $key => $option ) {
$alpha .= '<option value="' . $key . '"';
if( $meta ){
if( $meta == $key ) $alpha .= ' selected="selected"';
}
$alpha .= '>'. $option .'</option>';
}
$form_fields["masonry-image-sizing"] = array(
'label' => 'Masonry Sizing',
'input' => 'html',
'html' => "<select name='attachments[{$post->ID}][masonry-image-sizing]' id='attachments[{$post->ID}][masonry-image-sizing]'>".$image_gal_masonry_sizing_mapping."</select>",
'helps' => '',
'value' => get_post_meta( $post->ID, 'nectar_image_gal_masonry_sizing', true )
);
$form_fields["shape-color-mapping"] = array(
'label' => 'Color Mapping',
'input' => 'html',
'html' => "<select name='attachments[{$post->ID}][shape-color-mapping]' id='attachments[{$post->ID}][shape-color-mapping]'>".$color_mapping."</select>",
'helps' => '',
'value' => get_post_meta( $post->ID, 'nectar_particle_shape_color_mapping', true )
);
$form_fields["shape-color-alpha"] = array(
'label' => 'Color Alpha',
'input' => 'html',
'html' => "<select name='attachments[{$post->ID}][shape-color-alpha]' id='attachments[{$post->ID}][shape-color-alpha]'>".$alpha."</select>",
'helps' => '',
'value' => get_post_meta( $post->ID, 'nectar_particle_shape_color_alpha', true )
);
$form_fields['shape-particle-color'] = array(
'label' => 'Particle Color',
'input' => 'text',
'value' => esc_attr( get_post_meta( $post->ID, 'nectar_particle_shape_color', true ) ),
'helps' => 'Will only be used if Color Mapping is set to "Solid Color". Enter your color in hex format e.g. "#1ed760'
);
$form_fields["shape-density"] = array(
'label' => 'Particle Density',
'input' => 'html',
'html' => "<select name='attachments[{$post->ID}][shape-density]' id='attachments[{$post->ID}][shape-density]'>".$density."</select>",
'helps' => 'The lower the density, the higher the performance',
'value' => get_post_meta( $post->ID, 'nectar_particle_shape_density', true )
);
$form_fields['shape-max-particle-size'] = array(
'label' => 'Max Particle Size',
'input' => 'text',
'value' => get_post_meta( $post->ID, 'nectar_particle_max_particle_size', true ),
'helps' => 'The default is 3'
);
return $form_fields;
}
add_filter( 'attachment_fields_to_edit', 'nectar_add_attachment_field_credit', 10, 2 );
function nectar_add_attachment_field_credit_save( $post, $attachment ) {
if( isset( $attachment['image-url'] ) ) {
$image_url_sanitized = sanitize_text_field($attachment['image-url']);
update_post_meta( $post['ID'], 'nectar_image_gal_url', $image_url_sanitized );
}
if( isset( $attachment['masonry-image-sizing'] ) ) {
$masonry_image_sizing_sanitized = sanitize_text_field($attachment['masonry-image-sizing']);
update_post_meta( $post['ID'], 'nectar_image_gal_masonry_sizing', $masonry_image_sizing_sanitized );
}
if( isset( $attachment['shape-bg-color'] ) ) {
$shape_bg_color_sanitized = sanitize_text_field($attachment['shape-bg-color']);
update_post_meta( $post['ID'], 'nectar_particle_shape_bg_color', $shape_bg_color_sanitized );
}
if( isset( $attachment['shape-particle-color'] ) ) {
$shape_particle_color_sanitized = sanitize_text_field($attachment['shape-particle-color']);
update_post_meta( $post['ID'], 'nectar_particle_shape_color', $shape_particle_color_sanitized );
}
if( isset( $attachment['shape-color-mapping'] ) ) {
$shape_color_mapping_sanitized = sanitize_text_field($attachment['shape-color-mapping']);
update_post_meta( $post['ID'], 'nectar_particle_shape_color_mapping',$shape_color_mapping_sanitized );
}
if( isset( $attachment['shape-color-alpha'] ) ) {
$shape_color_alpha_sanitized = sanitize_text_field($attachment['shape-color-alpha']);
update_post_meta( $post['ID'], 'nectar_particle_shape_color_alpha', $shape_color_alpha_sanitized );
}
if( isset( $attachment['shape-density'] ) ) {
$shape_density_sanitized = sanitize_text_field($attachment['shape-density']);
update_post_meta( $post['ID'], 'nectar_particle_shape_density', $shape_density_sanitized );
}
if( isset( $attachment['shape-max-particle-size'] ) ) {
$shape_max_particle_size_sanitized = sanitize_text_field($attachment['shape-max-particle-size']);
update_post_meta( $post['ID'], 'nectar_particle_max_particle_size', $shape_max_particle_size_sanitized );
}
return $post;
}
add_filter( 'attachment_fields_to_save', 'nectar_add_attachment_field_credit_save', 10, 2 );
#-----------------------------------------------------------------#
# Custom password form
#-----------------------------------------------------------------#
add_filter( 'the_password_form', 'custom_password_form' );
function custom_password_form() {
global $post;
$post = get_post( $post );
$label = 'pwbox-' . ( empty($post->ID) ? rand() : $post->ID );
$output = '<form action="' . esc_url( site_url( 'wp-login.php?action=postpass', 'login_post' ) ) . '" class="post-password-form" method="post">
<p>' . __( 'This content is password protected. To view it please enter your password below:' ) . '</p>
<p><label for="' . $label . '">' . __( 'Password:' ) . ' </label> <input name="post_password" id="' . $label . '" type="password" size="20" /><input type="submit" name="Submit" value="' . esc_attr__( 'Submit' ) . '" /></p></form>';
return $output;
}
#-----------------------------------------------------------------#
# Category Rel Fix
#-----------------------------------------------------------------#
function remove_category_list_rel( $output ) {
// Remove rel attribute from the category list
return str_replace( ' rel="category tag"', '', $output );
}
add_filter( 'wp_list_categories', 'remove_category_list_rel' );
add_filter( 'the_category', 'remove_category_list_rel' );
#-----------------------------------------------------------------#
# Search related
#-----------------------------------------------------------------#
if(!function_exists('change_wp_search_size')){
function change_wp_search_size($query) {
if ( $query->is_search )
$query->query_vars['posts_per_page'] = 12;
return $query;
}
}
if(!is_admin()) {
add_filter('pre_get_posts', 'change_wp_search_size');
}
#-----------------------------------------------------------------#
# Portfolio Exclude External / Custom Grid Content Projects From Next/Prev
#-----------------------------------------------------------------#
if(!is_admin()) {
add_filter( 'get_previous_post_where', 'so16495117_mod_adjacent_bis' );
add_filter( 'get_next_post_where', 'so16495117_mod_adjacent_bis' );
function so16495117_mod_adjacent_bis( $where ) {
global $wpdb;
global $post;
//if not on project exit early
if(!is_singular('portfolio')) { return $where; }
$excluded_projects = array();
$exlcuded_projects_string = '';
$portfolio = array( 'post_type' => 'portfolio','posts_per_page' => '-1');
$the_query = new WP_Query($portfolio);
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
$custom_project_link = get_post_meta($post->ID, '_nectar_external_project_url', true);
$custom_content_project = get_post_meta($post->ID, '_nectar_portfolio_custom_grid_item', true);
if(!empty($custom_project_link) || !empty($custom_content_project) && $custom_content_project == 'on') $excluded_projects[] = $post->ID;
}
$exlcuded_projects_string = implode(",", $excluded_projects);
wp_reset_postdata();
if(!empty($exlcuded_projects_string)){
return $where . " AND p.ID NOT IN ($exlcuded_projects_string)";
} else {
return $where;
}
}
}
}
#-----------------------------------------------------------------#
# Nectar Options Panel Images
#-----------------------------------------------------------------#
if(!function_exists('fjarrett_get_attachment_id_from_url')){
function fjarrett_get_attachment_id_from_url( $url ) {
// Split the $url into two parts with the wp-content directory as the separator.
$parse_url = explode( parse_url( WP_CONTENT_URL, PHP_URL_PATH ), $url );
// Get the host of the current site and the host of the $url, ignoring www.
$this_host = str_ireplace( 'www.', '', parse_url( home_url(), PHP_URL_HOST ) );
$file_host = str_ireplace( 'www.', '', parse_url( $url, PHP_URL_HOST ) );
// Return nothing if there aren't any $url parts or if the current host and $url host do not match.
if ( ! isset( $parse_url[1] ) || empty( $parse_url[1] ) || ( $this_host != $file_host ) )
return;
// Now we're going to quickly search the DB for any attachment GUID with a partial path match.
// Example: /uploads/2013/05/test-image.jpg
global $wpdb;
$prefix = $wpdb->prefix;
$attachment = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM " . $prefix . "posts WHERE guid RLIKE %s;", $parse_url[1] ) );
return (!empty($attachment)) ? $attachment[0] : null;
}
}
if(!function_exists('nectar_options_img')){
function nectar_options_img($image_arr_or_str){
//dummy data import from external
if(isset($image_arr_or_str['thumbnail']) && strpos($image_arr_or_str['thumbnail'],'http://themenectar.com') !== false && $_SERVER['SERVER_NAME'] != 'themenectar.com') {
return $image_arr_or_str['thumbnail'];
}
if(isset($image_arr_or_str['thumbnail']) && strpos($image_arr_or_str['thumbnail'],'https://source.unsplash.com') !== false && $_SERVER['SERVER_NAME'] != 'unsplash.com') {
return $image_arr_or_str['thumbnail'];
}
//check if URL or ID is passed
if(isset($image_arr_or_str['id'])) {
$image = wp_get_attachment_image_src($image_arr_or_str['id'], 'full');
return $image[0];
}
else if (isset($image_arr_or_str['url'])) {
return $image_arr_or_str['url'];
}
else {
$image_id = fjarrett_get_attachment_id_from_url( $image_arr_or_str );
if(!is_null($image_id) && !empty($image_id)) {
$image = wp_get_attachment_image_src($image_id, 'full');
return $image[0];
} else {
return $image_arr_or_str;
}
}
}
}
$nectar_is_ssl = is_ssl();
function nectar_ssl_check($src) {
global $nectar_is_ssl;
if(strpos($src,'http://') !== false && $nectar_is_ssl == true) {
$converted_start = str_replace('http://', 'https://', $src );
return $converted_start;
}
else
return $src;
}
#-----------------------------------------------------------------#
# Current Page Url
#-----------------------------------------------------------------#
if(!function_exists('current_page_url')){
function current_page_url() {
$pageURL = 'http';
if( isset($_SERVER["HTTPS"]) ) {
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
}
#-----------------------------------------------------------------#
# Options panel
#-----------------------------------------------------------------#
//plugin installer
define('CNKT_INSTALLER_PATH', NECTAR_FRAMEWORK_DIRECTORY . 'redux-framework/extensions/wbc_importer/wbc_importer/connekt-plugin-installer/');
$using_nectar_redux_framework = false;
if ( !class_exists( 'ReduxFramework' ) && file_exists( dirname( __FILE__ ) . '/nectar/redux-framework/ReduxCore/framework.php' ) ) {
require_once( dirname( __FILE__ ) . '/nectar/redux-framework/ReduxCore/framework.php' );
$using_nectar_redux_framework = true;
}
if ( !isset( $redux_demo ) && file_exists( dirname( __FILE__ ) . '/nectar/redux-framework/options-config.php' ) ) {
require_once( dirname( __FILE__ ) . '/nectar/redux-framework/options-config.php' );
}
//add nectar redux styling/custom deps
function nectar_redux_deps($hook_suffix) {
global $using_nectar_redux_framework;
if ( strstr($hook_suffix,'Salient') || strstr($hook_suffix,'salient') ) {
wp_enqueue_style('nectar_redux_admin_style', get_template_directory_uri() .'/nectar/redux-framework/ReduxCore/assets/css/salient-redux-styling.css', array(), '9.0', 'all');
if($using_nectar_redux_framework == false) {
wp_enqueue_style('nectar_redux_select_2', get_template_directory_uri() .'/nectar/redux-framework/extensions/vendor_support/vendor/select2/select2.css', array(), time(), 'all');
wp_enqueue_script('nectar_redux_ace', get_template_directory_uri() .'/nectar/redux-framework/extensions/vendor_support/vendor/ace_editor/ace.js', array(), time(), 'all');
}
}
}
add_action('admin_enqueue_scripts', 'nectar_redux_deps');
function nectar_removeDemoModeLink() {
if ( class_exists('ReduxFrameworkPlugin') ) {
remove_filter( 'plugin_row_meta', array( ReduxFrameworkPlugin::get_instance(), 'plugin_metalinks'), null, 2 );
}
if ( class_exists('ReduxFrameworkPlugin') ) {
remove_action('admin_notices', array( ReduxFrameworkPlugin::get_instance(), 'admin_notices' ) );
}
}
if (is_admin()) {
add_action('init', 'nectar_removeDemoModeLink');
add_action( 'admin_menu', 'remove_redux_menu',12 );
function remove_redux_menu() {
remove_submenu_page('tools.php','redux-about');
}
if( !function_exists('nectar_admin_lovelo_font')) {
function nectar_admin_lovelo_font(){
echo "
<!-- A font fabric font - http://fontfabric.com/lovelo-font/ -->
<style> @font-face { font-family: 'Lovelo'; src: url('".get_template_directory_uri()."/css/fonts/Lovelo_Black.eot'); src: url('".get_template_directory_uri()."/css/fonts/Lovelo_Black.eot?#iefix') format('embedded-opentype'), url('".get_template_directory_uri()."/css/fonts/Lovelo_Black.woff') format('woff'), url('".get_template_directory_uri()."/css/fonts/Lovelo_Black.ttf') format('truetype'), url('".get_template_directory_uri()."/css/fonts/Lovelo_Black.svg#loveloblack') format('svg'); font-weight: normal; font-style: normal; } </style>";
}
}
add_action('admin_head', 'nectar_admin_lovelo_font');
/*alter demo importer tab top text*/
if ( !function_exists( 'nectar_wbc_importer_description_text' ) ) {
function nectar_wbc_importer_description_text( $description ) {
$message = '<p>'. esc_html__( 'A note for users importing demos on an existing WordPress install: When the option is selected to import "Theme option settings", your current theme options will be overwritten.', 'framework' ) .'</p>';
$message .= '<p>'. esc_html__( 'Ensure that you have all required plugins installed & activated for the demo you wish to import before confirming the import.', 'framework' ) . ' ' . esc_html__( 'For demos that require the WooCommerce plugin - do not forget to run the','framework') .' <a href="'.get_admin_url().'admin.php?page=wc-setup">' . esc_html('plugin setup wizard','framework') . '</a> ' . esc_html('before the demo import if you have not previously used the plugin on your site.', 'framework' ) .'</p>';
$message .= '<p>'. esc_html__( 'See the','framework') . ' <a href="http://themenectar.com/docs/salient/importing-demo-content/" target="_blank">' . esc_html__( 'documentation', 'framework') . '</a> ' . esc_html__( 'if you run into trouble importing a demo.', 'framework' ) .'</p>';
return $message;
}
add_filter( 'wbc_importer_description', 'nectar_wbc_importer_description_text', 10 );
}
if ( !function_exists( 'nectar_after_ecommerce_demo_import' ) ) {
function nectar_after_ecommerce_demo_import( $demo_active_import , $demo_directory_path ) {
global $woocommerce;
if( isset($demo_directory_path) && strpos($demo_directory_path,'Ecommerce-Ultimate') && $woocommerce ) {
//update shop page page header
$shop_page_id = wc_get_page_id('shop');
if($shop_page_id) {
update_post_meta($shop_page_id, '_nectar_header_bg_color', '#eaf0ff');
update_post_meta($shop_page_id, '_nectar_header_title', 'All Products');
update_post_meta($shop_page_id, '_nectar_header_font_color', '#000000');
update_post_meta($shop_page_id, '_nectar_header_subtitle', 'Affordable designer clothing with unmatched quality');
update_post_meta($shop_page_id, '_nectar_page_header_alignment', 'center');
update_post_meta($shop_page_id, '_nectar_header_bg_height', '230');
update_post_meta($shop_page_id, '_disable_transparent_header', 'on');
}
//update category thumbnails
nectar_update_woo_cat_thumb('accessories', 5688);
nectar_update_woo_cat_thumb('basic-t-shirts', 17);
nectar_update_woo_cat_thumb('casual-shirts', 29);
nectar_update_woo_cat_thumb('fresh-clothing', 18);
nectar_update_woo_cat_thumb('hipster-style', 41);
nectar_update_woo_cat_thumb('outerwear', 38);
nectar_update_woo_cat_thumb('sports-clothing', 5767);
} // end ecommerce ultimate
else if ( isset($demo_directory_path) && strpos($demo_directory_path,'Ecommerce-Creative') && $woocommerce ) {
//update shop page page header
$shop_page_id = wc_get_page_id('shop');
if($shop_page_id) {
update_post_meta($shop_page_id, '_nectar_header_title', 'The Shop');
update_post_meta($shop_page_id, '_nectar_header_subtitle', 'Affordable designer clothing with unmatched quality');
update_post_meta($shop_page_id, '_nectar_page_header_alignment', 'center');
update_post_meta($shop_page_id, '_nectar_header_bg_height', '400');
update_post_meta($shop_page_id, '_nectar_header_bg', 'http://themenectar.com/demo/salient-ecommerce-creative/wp-content/uploads/2018/08/adrian-sava-184378-unsplash.jpg');
}
//update category thumbnails
nectar_update_woo_cat_thumb('basic-t-shirts', 3002);
nectar_update_woo_cat_thumb('casual-shirts', 3004);
nectar_update_woo_cat_thumb('cool-clothing', 3003);
nectar_update_woo_cat_thumb('fresh-accessories', 3001);
nectar_update_woo_cat_thumb('hipster-style', 2960);
nectar_update_woo_cat_thumb('outerwear', 3060);
nectar_update_woo_cat_thumb('sport-clothing', 2970);
} // end ecommerce creative
} // main function end
}
add_action( 'wbc_importer_after_content_import', 'nectar_after_ecommerce_demo_import', 10, 2 );
}
if ( !function_exists( 'nectar_update_woo_cat_thumb' ) ) {
function nectar_update_woo_cat_thumb($cat_slug, $thumb_id) {
$n_woo_category = get_term_by( 'slug', $cat_slug, 'product_cat' );
$n_woo_category_id = ($n_woo_category && isset($n_woo_category->term_id)) ? $n_woo_category->term_id : false;
if($n_woo_category_id) {
update_woocommerce_term_meta( $n_woo_category_id, 'thumbnail_id', $thumb_id);
}
}
}
//helper function to grab theme options - to not break legacy users that are upgrading
function get_nectar_theme_options() {
$legacy_options = get_option('salient');
$current_options = get_option('salient_redux');
//use new options
if(!empty($current_options)) {
return $current_options;
} else if(!empty($legacy_options)) {
return $legacy_options;
} else {
return $current_options;
}
}
if (!function_exists('nectar_logo_output')) {
function nectar_logo_output($activate_transparency = false, $off_canvas_style = 'slide-out-from-right', $using_mobile_logo = 'false') {
global $options;
global $post;
$force_transparent_header_color = (isset($post->ID)) ? get_post_meta($post->ID, '_force_transparent_header_color', true) : '';
if(!empty($options['use-logo'])) {
$default_logo_class = ( !empty($options['retina-logo']['id']) || !empty($options['retina-logo']['url']) ) ? 'default-logo' : null;
$dark_default_class = ( empty($options['header-starting-logo-dark']['id']) && empty($options['header-starting-logo-dark']['url']) ) ? ' dark-version': null;
$std_retina_srcset = null;
if( !empty($options['retina-logo']['id']) || !empty($options['retina-logo']['url']) ) {
$std_retina_srcset = 'srcset="'.nectar_options_img($options['logo']).' 1x, '. nectar_options_img($options['retina-logo']) .' 2x"';
}
echo '<img class="stnd '.$default_logo_class. $dark_default_class.'" alt="'. get_bloginfo('name') .'" src="' . nectar_options_img($options['logo']) . '" '.$std_retina_srcset.' />';
//mobile only logo
if($using_mobile_logo == 'true') {
echo '<img class="mobile-only-logo" alt="'. get_bloginfo('name') .'" src="' . nectar_options_img($options['mobile-logo']) . '" />';
}
//starting logo
if($activate_transparency == 'true' || $off_canvas_style == 'fullscreen-alt' || $force_transparent_header_color == 'dark'){
$starting_retina_srcset = null;
if( !empty($options['header-starting-retina-logo']['id']) || !empty($options['header-starting-retina-logo']['url']) ) {
$starting_retina_srcset = 'srcset="'.nectar_options_img($options['header-starting-logo']).' 1x, '. nectar_options_img($options['header-starting-retina-logo']) .' 2x"';
}
if( !empty($options['header-starting-logo']['id']) || !empty($options['header-starting-logo']['url']) ) echo '<img class="starting-logo '.$default_logo_class.'" alt="'. get_bloginfo('name') .'" src="' . nectar_options_img($options['header-starting-logo']) . '" '.$starting_retina_srcset.' />';
$starting_dark_retina_srcset = null;
if( !empty($options['header-starting-retina-logo-dark']['id']) || !empty($options['header-starting-retina-logo-dark']['url']) ) {
$starting_dark_retina_srcset = 'srcset="'.nectar_options_img($options['header-starting-logo-dark']).' 1x, '. nectar_options_img($options['header-starting-retina-logo-dark']) .' 2x"';
}
if( !empty($options['header-starting-logo-dark']['id']) || !empty($options['header-starting-logo-dark']['url']) ) echo '<img class="starting-logo dark-version '.$default_logo_class.'" alt="'. get_bloginfo('name') .'" src="' . nectar_options_img($options['header-starting-logo-dark']) . '" '.$starting_dark_retina_srcset.' />';
}
} else { echo get_bloginfo('name'); }
}
}
if (!function_exists('nectar_logo_spacing')) {
function nectar_logo_spacing() {
global $options;
echo '<div class="logo-spacing">';
if(!empty($options['use-logo'])) {
echo '<img class="hidden-logo" alt="'. get_bloginfo('name') .'" src="' . nectar_options_img($options['logo']) . '" />';
} else { echo get_bloginfo('name'); }
echo '</div>';
}
}
if (!function_exists('nectar_page_trans_markup')) {
function nectar_page_trans_markup() {
global $options;
$ajax_page_loading = (!empty($options['ajax-page-loading']) && $options['ajax-page-loading'] == '1') ? true : false;
if($ajax_page_loading == false) { return; }
$page_transition_effect = (!empty($options['transition-effect'])) ? $options['transition-effect'] : 'standard';
$nectar_disable_fade_on_click = (!empty($options['disable-transition-fade-on-click'])) ? $options['disable-transition-fade-on-click'] : '0';
$nectar_transition_method = (!empty($options['transition-method'])) ? $options['transition-method'] : 'ajax';
$nectar_loading_image_animation_class = (!empty($options['loading-image-animation']) && !empty($options['loading-image'])) ? $options['loading-image-animation'] : null;
$nectar_disable_transition_on_mobile = (!empty($options['disable-transition-on-mobile'])) ? $options['disable-transition-on-mobile'] : '0';
$nectar_transition_markup = '';
$nectar_transition_markup .= '<div id="ajax-loading-screen" data-disable-mobile="'. $nectar_disable_transition_on_mobile .'" data-disable-fade-on-click="' . $nectar_disable_fade_on_click .'" data-effect="'. $page_transition_effect .'" data-method="'. $nectar_transition_method .'">';
if($page_transition_effect == 'horizontal_swipe' || $page_transition_effect == 'horizontal_swipe_basic') {
$nectar_transition_markup .= '<div class="reveal-1"></div>';
$nectar_transition_markup .= '<div class="reveal-2"></div>';
} else if($page_transition_effect == 'center_mask_reveal') {
$nectar_transition_markup .= '<span class="mask-top"></span>';
$nectar_transition_markup .= '<span class="mask-right"></span>';
$nectar_transition_markup .= '<span class="mask-bottom"></span>';
$nectar_transition_markup .= '<span class="mask-left"></span>';
} else {
$nectar_transition_markup .= '<div class="loading-icon '.$nectar_loading_image_animation_class.'">';
$loading_icon = (isset($options['loading-icon'])) ? $options['loading-icon'] : 'default';
$loading_img = (isset($options['loading-image'])) ? nectar_options_img($options['loading-image']) : null;
if(empty($loading_img)) {
if($loading_icon == 'material') {
$nectar_transition_markup .= '<div class="material-icon">
<div class="spinner">
<div class="right-side"><div class="bar"></div></div>
<div class="left-side"><div class="bar"></div></div>
</div>
<div class="spinner color-2">
<div class="right-side"><div class="bar"></div></div>
<div class="left-side"><div class="bar"></div></div>
</div>
</div>';
}
else {
if(!empty($options['theme-skin']) && $options['theme-skin'] == 'ascend') {
$nectar_transition_markup .= '<span class="default-loading-icon spin"></span>';
} else {
$nectar_transition_markup .= '<span class="default-skin-loading-icon"></span>';
}
}
} // empty loading img
$nectar_transition_markup .= '</div>';
} // not swipe or mask reveal
$nectar_transition_markup .= '</div>';
echo $nectar_transition_markup;
} // function end
}
function nectar_get_full_page_options() {
global $post;
$page_full_screen_rows = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows', true) : '';
$page_full_screen_rows_animation = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows_animation', true) : '';
$page_full_screen_rows_animation_speed = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows_animation_speed', true) : '';
$page_full_screen_rows_anchors = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows_anchors', true) : '';
$page_full_screen_rows_dot_navigation = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows_dot_navigation', true) : '';
$page_full_screen_rows_footer = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows_footer', true) : '';
$page_full_screen_rows_content_overflow = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows_content_overflow', true) : '';
$page_full_screen_rows_bg_img_animation = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows_row_bg_animation', true) : '';
$page_full_screen_rows_mobile_disable = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows_mobile_disable', true) : '';
$nectar_full_page_options = array(
'page_full_screen_rows' => $page_full_screen_rows,
'page_full_screen_rows_animation' => $page_full_screen_rows_animation,
'page_full_screen_rows_animation_speed' => $page_full_screen_rows_animation_speed,
'page_full_screen_rows_anchors' => $page_full_screen_rows_anchors,
'page_full_screen_rows_dot_navigation' => $page_full_screen_rows_dot_navigation,
'page_full_screen_rows_footer' => $page_full_screen_rows_footer,
'page_full_screen_rows_content_overflow' => $page_full_screen_rows_content_overflow,
'page_full_screen_rows_bg_img_animation' => $page_full_screen_rows_bg_img_animation,
'page_full_screen_rows_mobile_disable' => $page_full_screen_rows_mobile_disable
);
return $nectar_full_page_options;
}
if (!function_exists('nectar_header_social_icons')) {
function nectar_header_social_icons($location) {
global $options;
$social_networks = array(
'twitter' => 'fa fa-twitter',
'facebook' => 'fa fa-facebook',
'vimeo' => 'fa fa-vimeo',
'pinterest' => 'fa fa-pinterest',
'linkedin' => 'fa fa-linkedin',
'youtube' => 'fa fa-youtube-play',
'tumblr' => 'fa fa-tumblr',
'dribbble' => 'fa fa-dribbble',
'rss' => 'fa fa-rss',
'github' => 'fa fa-github-alt',
'google-plus' => 'fa fa-google-plus',
'instagram' => 'fa fa-instagram',
'stackexchange' => 'fa fa-stackexchange',
'soundcloud' => 'fa fa-soundcloud',
'flickr' => 'fa fa-flickr',
'spotify' => 'icon-salient-spotify',
'vk' => 'fa fa-vk',
'vine' => 'fa fa-vine',
'behance' => 'fa fa-behance',
'houzz' => 'fa fa-houzz',
'yelp' => 'fa fa-yelp',
'snapchat' => 'fa fa-snapchat',
'mixcloud' => 'fa fa-mixcloud',
'bandcamp' => 'fa fa-bandcamp',
'tripadvisor' => 'fa fa-tripadvisor',
'telegram' => 'fa fa-telegram',
'slack' => 'fa fa-slack',
'medium' => 'fa fa-medium',
'phone' => 'fa fa-phone',
'email' => 'fa fa-envelope'
);
$social_output_html = '';
if($location == 'main-nav') {
$social_link_before = '';
$social_link_after = '';
} else {
$social_link_before = '<li>';
$social_link_after = '</li>';
}
if($location == 'secondary-nav') {
$social_output_html .= '<ul id="social">';
}
foreach($social_networks as $network_name => $icon_class) {
if($network_name == 'rss') {
if(!empty($options['use-'.$network_name.'-icon-header']) && $options['use-'.$network_name.'-icon-header'] == 1) {
$nectar_rss_url_link = (!empty($options['rss-url'])) ? $options['rss-url'] : get_bloginfo('rss_url');
$social_output_html .= $social_link_before.'<a target="_blank" href="'.$nectar_rss_url_link.'"><i class="'.$icon_class.'"></i> </a>'.$social_link_after;
}
}
else {
if(!empty($options['use-'.$network_name.'-icon-header']) && $options['use-'.$network_name.'-icon-header'] == 1)
$social_output_html .= $social_link_before.'<a target="_blank" href="'.$options[$network_name."-url"].'"><i class="'.$icon_class.'"></i> </a>'.$social_link_after;
}
}
if($location == 'secondary-nav') {
$social_output_html .= '</ul>';
}
echo $social_output_html;
}
}
if (!function_exists('nectar_header_button_items')) {
function nectar_header_button_items() {
global $options;
global $woocommerce;
$headerSearch = (!empty($options['header-disable-search']) && $options['header-disable-search'] == '1') ? 'false' : 'true';
$userAccountBtn = (!empty($options['header-account-button']) && $options['header-account-button'] == '1') ? 'true' : 'false';
$userAccountBtnURL = (!empty($options['header-account-button-url'])) ? $options['header-account-button-url'] : '';
$headerFormat = (!empty($options['header_format'])) ? $options['header_format'] : 'default';
$theme_skin = ( !empty($options['theme-skin']) ) ? $options['theme-skin'] : 'original';
if($headerFormat == 'centered-menu-bottom-bar') { $theme_skin = 'material'; }
$sideWidgetArea = (!empty($options['header-slide-out-widget-area']) && $headerFormat != 'left-header' ) ? $options['header-slide-out-widget-area'] : 'off';
if($headerSearch != 'false') {
echo '<li id="search-btn"><div><a href="#searchbox"><span class="icon-salient-search" aria-hidden="true"></span></a></div> </li>';
}
if($userAccountBtn != 'false') {
echo '<li id="nectar-user-account"><div><a href="'. $userAccountBtnURL .'"><span class="icon-salient-m-user" aria-hidden="true"></span></a></div> </li>';
}
if (!empty($options['enable-cart']) && $options['enable-cart'] == '1' && $theme_skin == 'material') {
if ($woocommerce) {
echo '<li class="nectar-woo-cart">' . nectar_header_cart_output() .'</li>';
}
}
if($sideWidgetArea == '1') {
echo '<li class="slide-out-widget-area-toggle" data-icon-animation="simple-transform">';
echo '<div> <a href="#sidewidgetarea" class="closed"> <span> <i class="lines-button x2"> <i class="lines"></i> </i> </span> </a> </div>';
echo '</li>';
}
}
}
if (!function_exists('nectar_header_button_check')) {
function nectar_header_button_check() {
global $options;
global $woocommerce;
$headerFormat = (!empty($options['header_format'])) ? $options['header_format'] : 'default';
$using_header_cart = ($woocommerce && !empty($options['enable-cart']) && $options['enable-cart'] == '1') ? true : false;
$user_account_btn = (!empty($options['header-account-button']) && $options['header-account-button'] == '1') ? true : false;
$header_search = (!empty($options['header-disable-search']) && $options['header-disable-search'] == '1') ? false : true;
$side_widget_area = (!empty($options['header-slide-out-widget-area']) && $headerFormat != 'left-header' && $options['header-slide-out-widget-area'] == '1') ? true : false;
$header_buttons_active = ($using_header_cart || $user_account_btn || $header_search || $side_widget_area) ? 'yes' : 'no';
return $header_buttons_active;
}
}
/* portfolio video lightbox link helper */
if (!function_exists('nectar_portfolio_video_popup_link')) {
function nectar_portfolio_video_popup_link($post, $project_style, $video_embed, $video_m4v) {
$project_video_src = null;
$project_video_link = null;
$video_markup = null;
if($video_embed) {
$project_video_src = $video_embed;
if( preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $project_video_src, $video_match) ) {
//youtube
$project_video_link = 'https://www.youtube.com/watch?v=' . $video_match[1];
} else if( preg_match('/player\.vimeo\.com\/video\/([0-9]*)/', $project_video_src, $video_match) ) {
//vimeo iframe
$project_video_link = 'https://vimeo.com/' . $video_match[1].'?iframe=true';
} else if( preg_match('/(https?:\/\/)?(www\.)?(player\.)?vimeo\.com\/([a-z]*\/)*([‌​0-9]{6,11})[?]?.*/', $project_video_src, $video_match) ) {
//reg vimeo
$project_video_link = 'https://vimeo.com/' . $video_match[5].'?iframe=true';
}
} else if($video_m4v) {
$project_video_src = $video_m4v;
$project_video_link = '#video-popup-'.$post->ID;
$video_output = '[video preload="none" ';
if(!empty($video_m4v)) { $video_output .= 'mp4="'. $video_m4v .'" '; }
$video_output .= ']';
$video_markup = '<div id="video-popup-'.$post->ID.'" class="mfp-figure mfp-with-anim mfp-iframe-scaler"><div class="video">' . do_shortcode($video_output) . '</div></div>';
}
$popup_link_text = ($project_style == '1') ? __("Watch Video", 'salient') : '';
return $video_markup.'<a href="'.$project_video_link.'" class="pretty_photo default-link" >'.$popup_link_text.'</a>';
}
}
#-----------------------------------------------------------------#
# Nectar love
#-----------------------------------------------------------------#
require_once ( 'nectar/love/nectar-love.php' );
if (!function_exists('GetGooglePlusShares')) {
function GetGooglePlusShares($url) {
return 0;
}
}
#-----------------------------------------------------------------#
# Page meta
#-----------------------------------------------------------------#
include("nectar/meta/page-meta.php");
$nectar_disable_home_slider = (!empty($options['disable_home_slider_pt']) && $options['disable_home_slider_pt'] == '1') ? true : false;
$nectar_disable_nectar_slider = (!empty($options['disable_nectar_slider_pt']) && $options['disable_nectar_slider_pt'] == '1') ? true : false;
#-----------------------------------------------------------------#
# Create admin slider section
#-----------------------------------------------------------------#
if( !function_exists('slider_register') ) {
function slider_register() {
$labels = array(
'name' => __( 'Slides', 'salient'),
'singular_name' => __( 'Slide', 'salient'),
'search_items' => __( 'Search Slides', 'salient'),
'all_items' => __( 'All Slides', 'salient'),
'parent_item' => __( 'Parent Slide', 'salient'),
'edit_item' => __( 'Edit Slide', 'salient'),
'update_item' => __( 'Update Slide', 'salient'),
'add_new_item' => __( 'Add New Slide', 'salient'),
'menu_name' => __( 'Home Slider', 'salient')
);
$homeslider_menu_icon = (floatval(get_bloginfo('version')) >= "3.8") ? 'dashicons-admin-home' : NECTAR_FRAMEWORK_DIRECTORY . 'assets/img/icons/home-slider.png';
$args = array(
'labels' => $labels,
'singular_label' => __('Home Slider', 'salient'),
'public' => true,
'show_ui' => true,
'hierarchical' => false,
'menu_position' => 10,
'menu_icon' => $homeslider_menu_icon,
'exclude_from_search' => true,
'supports' => false
);
register_post_type( 'home_slider' , $args );
}
}
if($nectar_disable_home_slider != true) {
add_action('init', 'slider_register');
}
#-----------------------------------------------------------------#
# Custom slider columns
#-----------------------------------------------------------------#
if($nectar_disable_home_slider != true) {
add_filter('manage_edit-home_slider_columns', 'edit_columns_home_slider');
}
function edit_columns_home_slider($columns){
$column_thumbnail = array( 'thumbnail' => 'Thumbnail' );
$column_caption = array( 'caption' => 'Caption' );
$columns = array_slice( $columns, 0, 1, true ) + $column_thumbnail + array_slice( $columns, 1, NULL, true );
$columns = array_slice( $columns, 0, 2, true ) + $column_caption + array_slice( $columns, 2, NULL, true );
return $columns;
}
if($nectar_disable_home_slider != true) {
add_action('manage_home_slider_posts_custom_column', 'home_slider_custom_columns', 10, 2);
}
function home_slider_custom_columns($portfolio_columns, $post_id){
switch ($portfolio_columns) {
case 'thumbnail':
$thumbnail = get_post_meta($post_id, '_nectar_slider_image', true);
if( !empty($thumbnail) ) {
echo '<a href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit"><img class="slider-thumb" src="' . $thumbnail . '" /></a>';
} else {
echo '<a href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit"><img class="slider-thumb" src="' . NECTAR_FRAMEWORK_DIRECTORY . 'assets/img/slider-default-thumb.jpg" /></a>' .
'<strong><a class="row-title" href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit">No image added yet</a></strong>';
}
break;
case 'caption':
$caption = get_post_meta($post_id, '_nectar_slider_caption', true);
echo $caption;
break;
default:
break;
}
}
if($nectar_disable_home_slider != true) {
add_action( 'admin_menu', 'nectar_home_slider_ordering' );
}
function nectar_home_slider_ordering() {
add_submenu_page(
'edit.php?post_type=home_slider',
'Order Slides',
'Order',
'edit_pages', 'slide-order',
'nectar_home_slider_order_page'
);
}
function nectar_home_slider_order_page(){ ?>
<div class="wrap">
<h2><?php echo __('Sort Slides', 'salient'); ?></h2>
<p><?php echo __('Simply drag the slide up or down and they will be saved in that order.', 'salient'); ?></p>
<?php $slides = new WP_Query( array( 'post_type' => 'home_slider', 'posts_per_page' => -1, 'order' => 'ASC', 'orderby' => 'menu_order' ) ); ?>
<?php if( $slides->have_posts() ) : ?>
<?php wp_nonce_field( basename(__FILE__), 'nectar_meta_box_nonce' ); ?>
<table class="wp-list-table widefat fixed posts" id="sortable-table">
<thead>
<tr>
<th class="column-order"><?php echo __('Order', 'salient'); ?></th>
<th class="manage-column column-thumbnail"><?php echo __('Image', 'salient'); ?></th>
<th class="manage-column column-caption"><?php echo __('Caption', 'salient'); ?></th>
</tr>
</thead>
<tbody data-post-type="home_slider">
<?php while( $slides->have_posts() ) : $slides->the_post(); ?>
<tr id="post-<?php the_ID(); ?>">
<td class="column-order"><img src="<?php echo NECTAR_FRAMEWORK_DIRECTORY . 'assets/img/sortable.png'; ?>" alt="Move Icon" width="25" height="25" class="" /></td>
<td class="thumbnail column-thumbnail">
<?php
global $post;
$thumbnail = get_post_meta($post->ID, '_nectar_slider_image', true);
if( !empty($thumbnail) ) {
echo '<img class="slider-thumb" src="' . $thumbnail . '" />' ;
}
else {
echo '<img class="slider-thumb" src="' . NECTAR_FRAMEWORK_DIRECTORY . 'assets/img/slider-default-thumb.jpg" />' .
'<strong>No image added yet</strong>';
} ?>
</td>
<td class="caption column-caption">
<?php
$caption = get_post_meta($post->ID, '_nectar_slider_caption', true);
echo $caption; ?>
</td>
</tr>
<?php endwhile; ?>
</tbody>
<tfoot>
<tr>
<th class="column-order"><?php echo __('Order', 'salient'); ?></th>
<th class="manage-column column-thumbnail"><?php echo __('Image', 'salient'); ?></th>
<th class="manage-column column-caption"><?php echo __('Caption', 'salient'); ?></th>
</tr>
</tfoot>
</table>
<?php else: ?>
<p>No slides found, why not <a href="post-new.php?post_type=home_slider">create one?</a></p>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
</div><!-- .wrap -->
<?php }
if($nectar_disable_home_slider != true) {
add_action( 'admin_enqueue_scripts', 'home_slider_enqueue_scripts' );
}
function home_slider_enqueue_scripts() {
global $typenow;
if( 'home_slider' == $typenow ) {
wp_enqueue_script( 'jquery-ui-sortable' );
wp_enqueue_script( 'nectar-reorder', NECTAR_FRAMEWORK_DIRECTORY . 'assets/js/nectar-reorder.js' );
}
}
add_action( 'wp_ajax_nectar_update_slide_order', 'nectar_update_slide_order' );
//slide order ajax callback
function nectar_update_slide_order() {
global $wpdb;
$post_type = sanitize_text_field($_POST['postType']);
$order = $_POST['order'];
if ( !isset($_POST['nectar_meta_box_nonce']) || !wp_verify_nonce( $_POST['nectar_meta_box_nonce'], basename( __FILE__ ) ) )
return;
foreach( $order as $menu_order => $post_id ) {
$post_id = intval( str_ireplace( 'post-', '', $post_id ) );
$menu_order = intval($menu_order);
wp_update_post( array( 'ID' => stripslashes(htmlspecialchars($post_id)), 'menu_order' => stripslashes(htmlspecialchars($menu_order)) ) );
}
die( '1' );
}
//order the default home slider page correctly
function set_home_slider_admin_order($wp_query) {
$post_type = ( isset($wp_query->query['post_type']) ) ? $wp_query->query['post_type'] : '';
if ( $post_type == 'home_slider') {
$wp_query->set('orderby', 'menu_order');
$wp_query->set('order', 'ASC');
}
}
if (is_admin() && $nectar_disable_home_slider != true) {
add_filter('pre_get_posts', 'set_home_slider_admin_order');
}
#-----------------------------------------------------------------#
# Home slider meta
#-----------------------------------------------------------------#
if($nectar_disable_home_slider != true) {
include("nectar/meta/home-slider-meta.php");
}
#-----------------------------------------------------------------#
# Create nectar slider section
#-----------------------------------------------------------------#
function nectar_slider_register() {
$labels = array(
'name' => __( 'Slides', 'salient'),
'singular_name' => __( 'Slide', 'salient'),
'search_items' => __( 'Search Slides', 'salient'),
'all_items' => __( 'All Slides', 'salient'),
'parent_item' => __( 'Parent Slide', 'salient'),
'edit_item' => __( 'Edit Slide', 'salient'),
'update_item' => __( 'Update Slide', 'salient'),
'add_new_item' => __( 'Add New Slide', 'salient'),
'menu_name' => __( 'Nectar Slider', 'salient')
);
$nectarslider_menu_icon = (floatval(get_bloginfo('version')) >= "3.8") ? 'dashicons-star-empty' : NECTAR_FRAMEWORK_DIRECTORY . 'assets/img/icons/nectar-slider.png';
$args = array(
'labels' => $labels,
'singular_label' => __('Nectar Slider', 'salient'),
'public' => false,
'show_ui' => true,
'hierarchical' => false,
'menu_position' => 10,
'menu_icon' => $nectarslider_menu_icon,
'exclude_from_search' => true,
'supports' => false
);
register_post_type( 'nectar_slider' , $args );
}
$slider_locations_labels = array(
'name' => __( 'Slider Locations', 'salient'),
'singular_name' => __( 'Slider Location', 'salient'),
'search_items' => __( 'Search Slider Locations', 'salient'),
'all_items' => __( 'All Slider Locations', 'salient'),
'edit_item' => __( 'Edit Slider Location', 'salient'),
'update_item' => __( 'Update Slider Location', 'salient'),
'add_new_item' => __( 'Add New Slider Location', 'salient'),
'new_item_name' => __( 'New Slider Location', 'salient'),
'menu_name' => __( 'Slider Locations', 'salient')
);
register_taxonomy('slider-locations',
array('nectar_slider'),
array('hierarchical' => true,
'labels' => $slider_locations_labels,
'show_ui' => true,
'public' => false,
'query_var' => true,
'rewrite' => array( 'slug' => 'slider-locations' )
));
if($nectar_disable_nectar_slider != true) {
add_action('init', 'nectar_slider_register');
}
#-----------------------------------------------------------------#
# Custom slider columns
#-----------------------------------------------------------------#
if($nectar_disable_nectar_slider != true) {
add_filter('manage_edit-nectar_slider_columns', 'edit_columns_nectar_slider');
}
function edit_columns_nectar_slider($columns){
$column_thumbnail = array( 'thumbnail' => 'Thumbnail' );
$column_caption = array( 'caption' => 'Caption' );
$columns = array_slice( $columns, 0, 1, true ) + $column_thumbnail + array_slice( $columns, 1, NULL, true );
$columns = array_slice( $columns, 0, 2, true ) + $column_caption + array_slice( $columns, 2, NULL, true );
return $columns;
}
if($nectar_disable_nectar_slider != true) {
add_action('manage_nectar_slider_posts_custom_column', 'nectar_slider_custom_columns', 10, 2);
}
function nectar_slider_custom_columns($portfolio_columns, $post_id){
switch ($portfolio_columns) {
case 'thumbnail':
$background_type = get_post_meta($post_id, '_nectar_slider_bg_type', true);
if($background_type == 'image_bg') {
$thumbnail = get_post_meta($post_id, '_nectar_slider_image', true);
if( !empty($thumbnail) ) {
echo '<a href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit"><img class="slider-thumb" src="' . $thumbnail . '" /></a>';
} else {
echo '<a href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit"><img class="slider-thumb" src="' . NECTAR_FRAMEWORK_DIRECTORY . 'assets/img/slider-default-thumb.jpg" /></a>' .
'<strong><a class="row-title" href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit">No image added yet</a></strong>';
}
}
else {
$thumbnail = get_post_meta($post_id, '_nectar_slider_preview_image', true);
if( !empty($thumbnail) ) {
echo '<a href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit"><img class="slider-thumb" src="' . $thumbnail . '" /></a>';
} else {
echo '<a href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit"><img class="slider-thumb" src="' . NECTAR_FRAMEWORK_DIRECTORY . 'assets/img/slider-default-video-thumb.jpg" /></a>' .
'<strong><a class="row-title" href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit">No video preview image added yet</a></strong>';
}
}
break;
case 'caption':
$caption = get_post_meta($post_id, '_nectar_slider_caption', true);
$heading = get_post_meta($post_id, '_nectar_slider_heading', true);
echo '<h2>'.$heading.'</h2><p>'.$caption.'</p>';
break;
default:
break;
}
}
if($nectar_disable_nectar_slider != true) {
add_action( 'admin_menu', 'nectar_slider_ordering' );
}
function nectar_slider_ordering() {
add_submenu_page(
'edit.php?post_type=nectar_slider',
'Order Slides',
'Slide Ordering',
'edit_pages', 'nectar-slide-order',
'nectar_slider_order_page'
);
}
function nectar_slider_order_page(){ ?>
<div class="wrap" data-base-url="<?php echo admin_url('edit.php?post_type=nectar_slider&page=nectar-slide-order'); ?>">
<h2><?php echo __('Sort Slides', 'salient'); ?></h2>
<p><?php echo __('Choose your slider location below and simply drag your slides up or down - they will automatically be saved in that order.', 'salient'); ?></p>
<?php
(isset($_GET['slider-location'])) ? $location = sanitize_text_field( $_GET['slider-location'] ) : $location = false ;
$slides = new WP_Query( array( 'post_type' => 'nectar_slider', 'slider-locations' => $location, 'posts_per_page' => -1, 'order' => 'ASC', 'orderby' => 'menu_order' ) ); ?>
<?php if( $slides->have_posts() ) : ?>
<?php wp_nonce_field( basename(__FILE__), 'nectar_meta_box_nonce' );
echo '<div class="slider-locations">';
global $typenow;
$args=array( 'public' => false, '_builtin' => false );
$post_types = get_post_types($args);
if ( in_array($typenow, $post_types) ) {
$filters = get_object_taxonomies($typenow);
foreach ($filters as $tax_slug) {
$tax_obj = get_taxonomy($tax_slug);
wp_dropdown_categories(array(
'show_option_all' => 'Slider Locations',
'taxonomy' => $tax_slug,
'name' => $tax_obj->name,
//'orderby' => 'term_order',
'selected' => isset($location) ? $location : false,
'hierarchical' => $tax_obj->hierarchical,
'show_count' => false,
'hide_empty' => true
));
}
}
echo '</div>';
if(isset($location) && $location != false) {
?>
<table class="wp-list-table widefat fixed posts" id="sortable-table">
<thead>
<tr>
<th class="column-order"><?php echo __('Order', 'salient'); ?></th>
<th class="manage-column column-thumbnail"><?php echo __('Image', 'salient'); ?></th>
<th class="manage-column column-caption"><?php echo __('Caption', 'salient'); ?></th>
</tr>
</thead>
<tbody data-post-type="nectar_slider">
<?php while( $slides->have_posts() ) : $slides->the_post(); ?>
<tr id="post-<?php the_ID(); ?>">
<td class="column-order"><img src="<?php echo NECTAR_FRAMEWORK_DIRECTORY . 'assets/img/sortable.png'; ?>" alt="Move Icon" width="25" height="25" class="" /></td>
<td class="thumbnail column-thumbnail">
<?php
global $post;
$post_id = $post->ID;
$background_type = get_post_meta($post_id, '_nectar_slider_bg_type', true);
if($background_type == 'image_bg') {
$thumbnail = get_post_meta($post_id, '_nectar_slider_image', true);
if( !empty($thumbnail) ) {
echo '<a href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit"><img class="slider-thumb" src="' . $thumbnail . '" /></a>';
} else {
echo '<a href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit"><img class="slider-thumb" src="' . NECTAR_FRAMEWORK_DIRECTORY . 'assets/img/slider-default-thumb.jpg" /></a>' .
'<strong><a class="row-title" href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit">No image added yet</a></strong>';
}
}
else {
$thumbnail = get_post_meta($post_id, '_nectar_slider_preview_image', true);
if( !empty($thumbnail) ) {
echo '<a href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit"><img class="slider-thumb" src="' . $thumbnail . '" /></a>';
} else {
echo '<a href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit"><img class="slider-thumb" src="' . NECTAR_FRAMEWORK_DIRECTORY . 'assets/img/slider-default-video-thumb.jpg" /></a>' .
'<strong><a class="row-title" href="'.get_admin_url() . 'post.php?post=' . $post_id.'&action=edit">No video preview image added yet</a></strong>';
}
} ?>
</td>
<td class="caption column-caption">
<?php
$caption = get_post_meta($post->ID, '_nectar_slider_caption', true);
echo $caption; ?>
</td>
</tr>
<?php endwhile; ?>
</tbody>
<tfoot>
<tr>
<th class="column-order"><?php echo __('Order', 'salient'); ?></th>
<th class="manage-column column-thumbnail"><?php echo __('Image', 'salient'); ?></th>
<th class="manage-column column-caption"><?php echo __('Caption', 'salient'); ?></th>
</tr>
</tfoot>
</table>
<?php } ?>
<?php else: ?>
<p>No slides found, why not <a href="post-new.php?post_type=nectar_slider">create one?</a></p>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
</div><!-- .wrap -->
<?php }
if($nectar_disable_nectar_slider != true) {
add_action( 'admin_enqueue_scripts', 'nectar_slider_enqueue_scripts' );
}
function nectar_slider_enqueue_scripts() {
global $typenow;
global $nectar_get_template_directory_uri;
if( 'nectar_slider' == $typenow) {
wp_enqueue_script( 'jquery-ui-sortable' );
wp_enqueue_script( 'nectar-reorder', NECTAR_FRAMEWORK_DIRECTORY . 'assets/js/nectar-reorder.js' );
}
wp_register_script('chosen', $nectar_get_template_directory_uri . '/nectar/tinymce/shortcode_generator/js/chosen/chosen.jquery.min.js', array('jquery'), '8.0.1', true);
wp_register_style( 'chosen', $nectar_get_template_directory_uri .'/nectar/tinymce/shortcode_generator/css/chosen/chosen.css', array(), '8.0.1', 'all');
wp_enqueue_style('chosen');
wp_enqueue_script('chosen');
}
if($nectar_disable_nectar_slider != true) {
add_action( 'wp_ajax_nectar_update_slide_order', 'nectar_slider_update_order' );
}
//slide order ajax callback
function nectar_slider_update_order() {
global $wpdb;
$post_type = sanitize_text_field($_POST['postType']);
$order = $_POST['order'];
if ( !isset($_POST['nectar_meta_box_nonce']) || !wp_verify_nonce( $_POST['nectar_meta_box_nonce'], basename( __FILE__ ) ) )
return;
foreach( $order as $menu_order => $post_id ) {
$post_id = intval( str_ireplace( 'post-', '', $post_id ) );
$menu_order = intval($menu_order);
wp_update_post( array( 'ID' => stripslashes(htmlspecialchars($post_id)), 'menu_order' => stripslashes(htmlspecialchars($menu_order)) ) );
}
die( '1' );
}
//order the default nectar slider page correctly
function set_nectar_slider_admin_order($wp_query) {
$post_type = ( isset($wp_query->query['post_type']) ) ? $wp_query->query['post_type'] : '';
if ( $post_type == 'nectar_slider') {
$wp_query->set('orderby', 'menu_order');
$wp_query->set('order', 'ASC');
}
}
if (is_admin() && $nectar_disable_nectar_slider != true ) {
add_filter('pre_get_posts', 'set_nectar_slider_admin_order');
}
function my_restrict_manage_posts() {
global $typenow;
$args = array( 'public' => false, '_builtin' => false );
$post_types = get_post_types($args);
if ( in_array($typenow, $post_types) ) {
$filters = get_object_taxonomies($typenow);
if($typenow != 'product'){
foreach ($filters as $tax_slug) {
$tax_obj = get_taxonomy($tax_slug);
wp_dropdown_categories(array(
'show_option_all' => __('Show All ','salient') . $tax_obj->label,
'taxonomy' => $tax_slug,
'name' => $tax_obj->name,
//'orderby' => 'term_order',
'selected' => isset($_GET[$tax_obj->query_var]) ? $_GET[$tax_obj->query_var] : false,
'hierarchical' => $tax_obj->hierarchical,
'show_count' => false,
'hide_empty' => true
));
}
}
}
}
function my_convert_restrict($query) {
global $pagenow;
global $typenow;
if ($pagenow == 'edit.php') {
$filters = get_object_taxonomies($typenow);
foreach ($filters as $tax_slug) {
$var = &$query->query_vars[$tax_slug];
if ( isset($var) ) {
$term = get_term_by('id',$var,$tax_slug);
if($term) { $var = $term->slug; }
}
}
}
}
if($nectar_disable_nectar_slider != true && is_admin()) {
add_action('restrict_manage_posts', 'my_restrict_manage_posts' );
add_filter('parse_query','my_convert_restrict');
}
#-----------------------------------------------------------------#
# Nectar slider meta
#-----------------------------------------------------------------#
if($nectar_disable_nectar_slider != true) {
include("nectar/meta/nectar-slider-meta.php");
}
#-----------------------------------------------------------------#
# Nectar slider display
#-----------------------------------------------------------------#
$real_fs = 0;
if (!function_exists('nectar_slider_display')) {
function nectar_slider_display($config_arr){
global $nectar_disable_nectar_slider;
if($nectar_disable_nectar_slider == true) {
echo __('Nectar Slider Post Type Disabled - please reanble in the Salient options panel > General Settings > Toggle Theme Features tab.', 'salient');
return false;
}
global $post;
global $options;
global $real_fs;
$midnight_parallax = null;
$midnight_regular = null;
$boxed = (!empty($options['boxed_layout']) && $options['boxed_layout'] == '1') ? '1' : '0';
if($config_arr['full_width'] == 'true' && $boxed != '1') { $fullwidth = 'true'; }
else if($config_arr['full_width'] == 'true' && $boxed == '1') { $fullwidth = 'boxed-full-width'; }
else { $fullwidth = 'false'; }
$dynamic_height_style_markup = '';
if(!empty($config_arr['min_slider_height']) || !empty($config_arr['flexible_slider_height']) && $config_arr['flexible_slider_height'] == 'true') {
$dynamic_height_style_markup .= 'style="';
}
//min height
$dynamic_height_style_markup .= (!empty($config_arr['min_slider_height'])) ? 'min-height: '.$config_arr['min_slider_height'].'px; ': '';
//flexible height
if(!empty($config_arr['flexible_slider_height']) && $config_arr['flexible_slider_height'] == 'true' && $fullwidth == 'true' && $config_arr['fullscreen'] != 'true') {
$dynamic_height_style_markup .= (!empty($config_arr["slider_height"])) ? 'height: calc( '. intval($config_arr["slider_height"]).' * 100vw / 1600 );': '';
}
if(!empty($config_arr['min_slider_height']) || !empty($config_arr['flexible_slider_height']) && $config_arr['flexible_slider_height'] == 'true') {
$dynamic_height_style_markup .= '"';
}
//disable parallax for full page
$page_full_screen_rows = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows', true) : '';
if($page_full_screen_rows == "on")
$config_arr['parallax'] = 'false';
$animate_in_effect = (!empty($options['header-animate-in-effect'])) ? $options['header-animate-in-effect'] : 'none';
//adding parallax wrapper if selected
if($config_arr['parallax'] == 'true') {
if( stripos( $post->post_content, '[nectar_slider') !== FALSE && stripos( $post->post_content, '[nectar_slider') === 0 && $real_fs == 0) {
$first_section = '';
$real_fs = 1;
} else {
$first_section = '';
}
$midnight_parallax = 'data-midnight="nectar-slider"';
$midnight_regular = null;
$slider = '<div '.$midnight_parallax.' class="parallax_slider_outer '.$first_section.'" '.$dynamic_height_style_markup.'>';
} else { $slider = ''; }
if($config_arr['parallax'] != 'true') {
if( stripos( $post->post_content, '[nectar_slider') !== FALSE && stripos( $post->post_content, '[nectar_slider') === 0 && $real_fs == 0) {
$first_section = '';
$real_fs = 1;
$midnight_parallax = null;
$midnight_regular = 'data-midnight="nectar-slider"';
} else { $first_section = ''; }
} else {
$midnight_parallax = null;
$midnight_regular = null;
$first_section = '';
}
$text_overrides = null;
if(!empty($config_arr['tablet_header_font_size'])) {
$text_overrides .= ' data-tho="'.$config_arr['tablet_header_font_size'].'"';
}
if(!empty($config_arr['tablet_caption_font_size'])) {
$text_overrides .= ' data-tco="'.$config_arr['tablet_caption_font_size'].'"';
}
if(!empty($config_arr['phone_header_font_size'])) {
$text_overrides .= ' data-pho="'.$config_arr['phone_header_font_size'].'"';
}
if(!empty($config_arr['phone_caption_font_size'])) {
$text_overrides .= ' data-pco="'.$config_arr['phone_caption_font_size'].'"';
}
$nectar_slider_unique_id = 'ns-id-'.uniqid();
$slider .= '<div '.$midnight_regular.' data-transition="'.$config_arr['slider_transition'].'" data-overall_style="'.$config_arr['overall_style'].'" data-flexible-height="'.$config_arr['flexible_slider_height'].'" data-animate-in-effect="'.$animate_in_effect.'" data-fullscreen="'.$config_arr['fullscreen'].'" ';
$slider .= 'data-button-sizing="'.$config_arr['button_sizing'].'" data-button-styling="'.$config_arr['slider_button_styling'].'" data-autorotate="'.$config_arr['autorotate'].'" data-parallax="'.$config_arr['parallax'].'" data-parallax-disable-mobile="'.$config_arr['disable_parallax_mobile'].'" data-caption-trans="'.$config_arr['caption_transition'].'" data-parallax-style="bg_only" data-bg-animation="'.$config_arr['bg_animation'].'" data-full-width="'.$fullwidth.'" ';
$slider .= 'class="nectar-slider-wrap '.$first_section.'" id="'.$nectar_slider_unique_id .'" '.$dynamic_height_style_markup.'>';
$slider .= '<div class="swiper-container" '.$dynamic_height_style_markup.' '.$text_overrides.' data-loop="'.$config_arr['loop'].'" data-height="'. $config_arr["slider_height"] .'" data-min-height="'.$config_arr['min_slider_height'].'" data-arrows="' . $config_arr["arrow_navigation"].'" data-bullets="'.$config_arr["bullet_navigation"].'" ';
$slider .= 'data-bullet_style="'.$config_arr["bullet_navigation_style"].'" data-bullet_position="'.$config_arr["bullet_navigation_position"].'" data-desktop-swipe="'. $config_arr["desktop_swipe"].'" data-settings=""> <div class="swiper-wrapper">';
$slide_count = 0;
//get slider location by slug instead of raw name
$slider_terms = get_term_by('name',$config_arr['location'],'slider-locations');
//loop through and get all the slides in selected location
$slides = new WP_Query( array( 'post_type' => 'nectar_slider', 'tax_query' => array( array( 'taxonomy' => 'slider-locations', 'field' => 'slug', 'terms' => $slider_terms->slug ) ), 'posts_per_page' => -1, 'order' => 'ASC', 'orderby' => 'menu_order' ) );
if( $slides->have_posts() ) : while( $slides->have_posts() ) : $slides->the_post();
global $post;
$background_type = get_post_meta($post->ID, '_nectar_slider_bg_type', true);
$background_alignment = get_post_meta($post->ID, '_nectar_slider_slide_bg_alignment', true);
$slide_title = get_post_meta($post->ID, '_nectar_slider_heading', true);
$slide_description = get_post_meta($post->ID, '_nectar_slider_caption', true);
$slide_description_wrapped = '<span>'.$slide_description.'</span>';
$slide_description_bg = get_post_meta($post->ID, '_nectar_slider_caption_background', true);
$caption_bg = ( $slide_description_bg == 'on') ? 'class="transparent-bg"' : '';
$down_arrow = get_post_meta($post->ID, '_nectar_slider_down_arrow', true);
$poster = get_post_meta($post->ID, '_nectar_slider_preview_image', true);
$poster_markup = (!empty($poster)) ? 'poster="'.$poster.'"' : null ;
$x_pos = get_post_meta($post->ID, '_nectar_slide_xpos_alignment', true);
$y_pos = get_post_meta($post->ID, '_nectar_slide_ypos_alignment', true);
$link_type = get_post_meta($post->ID, '_nectar_slider_link_type', true);
$full_slide_link = get_post_meta($post->ID, '_nectar_slider_entire_link', true);
$button_1_text = get_post_meta($post->ID, '_nectar_slider_button', true);
$button_1_link = get_post_meta($post->ID, '_nectar_slider_button_url', true);
$button_1_style = get_post_meta($post->ID, '_nectar_slider_button_style', true);
$button_1_color = get_post_meta($post->ID, '_nectar_slider_button_color', true);
$button_2_text = get_post_meta($post->ID, '_nectar_slider_button_2', true);
$button_2_link = get_post_meta($post->ID, '_nectar_slider_button_url_2', true);
$button_2_style = get_post_meta($post->ID, '_nectar_slider_button_style_2', true);
$button_2_color = get_post_meta($post->ID, '_nectar_slider_button_color_2', true);
$video_mp4 = get_post_meta($post->ID, '_nectar_media_upload_mp4', true);
$video_webm = get_post_meta($post->ID, '_nectar_media_upload_webm', true);
$video_ogv = get_post_meta($post->ID, '_nectar_media_upload_ogv', true);
$video_texture = get_post_meta($post->ID, '_nectar_slider_video_texture', true);
$muted = 'on'; //get_post_meta($post->ID, '_nectar_slider_video_muted', true);
$desktop_content_width = get_post_meta($post->ID, '_nectar_slider_slide_content_width_desktop', true);
$tablet_content_width = get_post_meta($post->ID, '_nectar_slider_slide_content_width_tablet', true);
$slide_image = get_post_meta($post->ID, '_nectar_slider_image', true);
$overlay_color = get_post_meta($post->ID, '_nectar_slider_bg_overlay_color', true);
$overlay_markup = (!empty($overlay_color)) ? '<div class="slide-bg-overlay" style="background-color: '.$overlay_color.';"> </div>' : '';
$img_bg = null;
$slide_color = get_post_meta($post->ID, '_nectar_slider_slide_font_color', true);
$custom_class = get_post_meta($post->ID, '_nectar_slider_slide_custom_class', true);
$custom_css_class = (!empty($custom_class)) ? ' '.$custom_class : null;
if($background_type == 'image_bg') { $bg_img_markup = 'style="background-image: url('. nectar_ssl_check($slide_image).');"'; } else { $bg_img_markup = null;}
(!empty($x_pos)) ? $x_pos_markup = $x_pos : $x_pos_markup = 'center';
(!empty($y_pos)) ? $y_pos_markup = $y_pos : $y_pos_markup = 'middle';
$slider .= '<div class="swiper-slide'.$custom_css_class.'" data-desktop-content-width="'.$desktop_content_width.'" data-tablet-content-width="'.$tablet_content_width.'" data-bg-alignment="'.$background_alignment.'" data-color-scheme="'. $slide_color .'" data-x-pos="'.$x_pos_markup.'" data-y-pos="'.$y_pos_markup.'" '.$dynamic_height_style_markup.'>
';
if($background_type == 'image_bg') $slider .='<div class="slide-bg-wrap"><div class="image-bg" '.$bg_img_markup.'> </div>'.$overlay_markup.'</div>';
if(!empty($slide_title) || !empty($slide_description) || !empty($button_1_text) || !empty($button_2_text)) {
$slider .= '<div class="container">
<div class="content">';
if(!empty($slide_title)) { $slider .= '<h2>'.$slide_title.'</h2>'; }
if(!empty($slide_description)) { $slider .= '<p '. $caption_bg.' >'. $slide_description_wrapped.'</p>'; }
if($link_type == 'button_links' && !empty($button_1_text) || $link_type == 'button_links' && !empty($button_2_text)) {
$slider .= '<div class="buttons">';
if(!empty($button_1_text)) {
$button_1_link = !empty($button_1_link) ? $button_1_link : '#';
//check button link to see if it's a video or googlemap
$link_extra = null;
if(strpos($button_1_link, 'youtube.com/watch') !== false) $link_extra = 'pp ';
if(strpos($button_1_link, 'vimeo.com/') !== false) $link_extra = 'pp ';
if(strpos($button_1_link, 'maps.google.com/maps') !== false) $link_extra = 'map-popup ';
//wrapper for tilt button
$button_wrap_begin = ($button_1_style == 'solid_color_2') ? "<div class='button-wrap'>": null;
$button_wrap_end = ($button_1_style == 'solid_color_2') ? "</div>": null;
$slider .=
'<div class="button '.$button_1_style.'">
'.$button_wrap_begin .' <a class="'.$link_extra .$button_1_color .'" href="'.$button_1_link.'">'.$button_1_text.'</a>'. $button_wrap_end.'
</div>';
}
if(!empty($button_2_text)) {
$button_2_link = !empty($button_2_link) ? $button_2_link : '#';
//check button link to see if it's a video or googlemap
$link_extra = null;
if(strpos($button_2_link, 'youtube.com/watch') !== false) $link_extra = 'pp ';
if(strpos($button_2_link, 'vimeo.com/') !== false) $link_extra = 'pp ';
if(strpos($button_2_link, 'maps.google.com/maps') !== false) $link_extra = 'map-popup ';
$slider .=
'<div class="button '.$button_2_style.'">
<a class="'.$link_extra . $button_2_color .'" href="'.$button_2_link.'">'.$button_2_text.'</a>
</div>';
}
$slider .= '</div>';
}
$slider .= '</div>
</div><!--/container-->';
}
if(!empty($down_arrow) && $down_arrow == 'on') {
$header_down_arrow_style = (!empty($options['header-down-arrow-style'])) ? $options['header-down-arrow-style'] : 'default';
$theme_button_styling = (!empty($options['button-styling'])) ? $options['button-styling'] : 'default';
if($header_down_arrow_style == 'scroll-animation' || $theme_button_styling == 'slightly_rounded' || $theme_button_styling == 'slightly_rounded_shadow') {
$slider .= '<a href="#" class="slider-down-arrow no-border"><svg class="nectar-scroll-icon" viewBox="0 0 30 45" enable-background="new 0 0 30 45">
<path class="nectar-scroll-icon-path" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" d="M15,1.118c12.352,0,13.967,12.88,13.967,12.88v18.76 c0,0-1.514,11.204-13.967,11.204S0.931,32.966,0.931,32.966V14.05C0.931,14.05,2.648,1.118,15,1.118z"></path>
</svg></a>';
} else {
$slider .= '<a href="#" class="slider-down-arrow"><i class="icon-salient-down-arrow icon-default-style"> <span class="ie-fix"></span> </i></a>';
}
}
$active_texture = ($video_texture == 'on') ? 'active_texture' : '';
$slider .= '<div class="video-texture '.$active_texture.'"> <span class="ie-fix"></span> </div>';
if($background_type == 'video_bg') {
$muted_markup = '';
if($muted == 'on') {
$muted_markup = ' autoplay muted playsinline';
}
$slider .= '
<div class="mobile-video-image" style="background-image: url('.$poster.')"> <span class="ie-fix"></span> </div>
<div class="slide-bg-wrap">
<div class="video-wrap">
<video class="slider-video" width="1800" height="700" preload="auto" loop'.$muted_markup.'>';
if(!empty($video_webm)) { $slider .= '<source type="video/webm" src="'.$video_webm.'">'; }
if(!empty($video_mp4)) { $slider .= '<source type="video/mp4" src="'.$video_mp4.'">'; }
if(!empty($video_ogv)) { $slider .= '<source type="video/ogg" src="'. $video_ogv.'">'; }
$slider .='</video></div> '.$overlay_markup.'</div>';
}
if($link_type == 'full_slide_link' && !empty($full_slide_link)) {
$slider .= '<a href="'. $full_slide_link.'" class="entire-slide-link"> <span class="ie-fix"></span> </a>';
}
$slider .= '</div> <!--/swiper-slide-->';
$slide_count ++;
endwhile; endif;
wp_reset_postdata();
$slider .= '</div>';
if($config_arr['arrow_navigation'] == 'true' && $slide_count > 1 && $config_arr['slider_button_styling'] != 'btn_with_preview' && $config_arr['overall_style'] != 'directional') {
$slider .= '<a href="" class="slider-prev"><i class="icon-salient-left-arrow"></i> <div class="slide-count"> <span class="slide-current">1</span> <i class="icon-salient-right-line"></i> <span class="slide-total"></span> </div> </a>
<a href="" class="slider-next"><i class="icon-salient-right-arrow"></i> <div class="slide-count"> <span class="slide-current">1</span> <i class="icon-salient-right-line"></i> <span class="slide-total"></span> </div> </a>';
}
else if($config_arr['arrow_navigation'] == 'true' && $slide_count > 1 && $config_arr['slider_button_styling'] == 'btn_with_preview' || $config_arr['overall_style'] == 'directional') {
$slider .= '<a href="" class="slider-prev"><i class="icon-angle-left"></i> </a>
<a href="" class="slider-next"><i class="icon-angle-right"></i> </a>';
}
if($config_arr['bullet_navigation'] == 'true' && $slide_count > 1){
$slider .= '<div class="container normal-container slider-pagination-wrap"><div class="slider-pagination"></div></div>';
}
$loading_animation = (!empty($options['loading-image-animation']) && !empty($options['loading-image'])) ? $options['loading-image-animation'] : null;
$default_loader = (empty($options['loading-image']) && !empty($options['theme-skin']) && $options['theme-skin'] == 'ascend') ? '<span class="default-loading-icon spin"></span>' : null;
$default_loader_class = (empty($options['loading-image']) && !empty($options['theme-skin']) && $options['theme-skin'] == 'ascend') ? 'default-loader' : null;
$slider .= '<div class="nectar-slider-loading '.$default_loader_class.'"> <span class="loading-icon '.$loading_animation.'"> '.$default_loader.' </span> </div> </div>
</div>';
if($config_arr['parallax'] == 'true') { $slider .= '</div>'; }
return $slider;
}
}
#-----------------------------------------------------------------#
# Create admin portfolio section
#-----------------------------------------------------------------#
function portfolio_register() {
$portfolio_labels = array(
'name' => __( 'Portfolio', 'salient'),
'singular_name' => __( 'Portfolio Item', 'salient'),
'search_items' => __( 'Search Portfolio Items', 'salient'),
'all_items' => __( 'Portfolio', 'salient'),
'parent_item' => __( 'Parent Portfolio Item', 'salient'),
'edit_item' => __( 'Edit Portfolio Item', 'salient'),
'update_item' => __( 'Update Portfolio Item', 'salient'),
'add_new_item' => __( 'Add New Portfolio Item', 'salient')
);
global $options;
$custom_slug = null;
if(!empty($options['portfolio_rewrite_slug'])) $custom_slug = $options['portfolio_rewrite_slug'];
$portolfio_menu_icon = (floatval(get_bloginfo('version')) >= "3.8") ? 'dashicons-art' : NECTAR_FRAMEWORK_DIRECTORY . 'assets/img/icons/portfolio.png';
$args = array(
'labels' => $portfolio_labels,
'rewrite' => array('slug' => $custom_slug,'with_front' => false),
'singular_label' => __('Project', 'salient'),
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'hierarchical' => false,
'menu_position' => 9,
'menu_icon' => $portolfio_menu_icon,
'supports' => array('title', 'editor', 'thumbnail', 'comments', 'revisions')
);
register_post_type( 'portfolio' , $args );
}
add_action('init', 'portfolio_register');
#-----------------------------------------------------------------#
# Add taxonomys attached to portfolio
#-----------------------------------------------------------------#
if (!function_exists('nectar_add_portfolio_taxonomies')) {
function nectar_add_portfolio_taxonomies(){
$category_labels = array(
'name' => __( 'Project Categories', 'salient'),
'singular_name' => __( 'Project Category', 'salient'),
'search_items' => __( 'Search Project Categories', 'salient'),
'all_items' => __( 'All Project Categories', 'salient'),
'parent_item' => __( 'Parent Project Category', 'salient'),
'edit_item' => __( 'Edit Project Category', 'salient'),
'update_item' => __( 'Update Project Category', 'salient'),
'add_new_item' => __( 'Add New Project Category', 'salient'),
'menu_name' => __( 'Project Categories', 'salient')
);
register_taxonomy("project-type",
array("portfolio"),
array("hierarchical" => true,
'labels' => $category_labels,
'show_ui' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'project-type' )
));
$attributes_labels = array(
'name' => __( 'Project Attributes', 'salient'),
'singular_name' => __( 'Project Attribute', 'salient'),
'search_items' => __( 'Search Project Attributes', 'salient'),
'all_items' => __( 'All Project Attributes', 'salient'),
'parent_item' => __( 'Parent Project Attribute', 'salient'),
'edit_item' => __( 'Edit Project Attribute', 'salient'),
'update_item' => __( 'Update Project Attribute', 'salient'),
'add_new_item' => __( 'Add New Project Attribute', 'salient'),
'new_item_name' => __( 'New Project Attribute', 'salient'),
'menu_name' => __( 'Project Attributes', 'salient')
);
register_taxonomy('project-attributes',
array('portfolio'),
array('hierarchical' => true,
'labels' => $attributes_labels,
'show_ui' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'project-attributes' )
));
}
}
nectar_add_portfolio_taxonomies();
//utility function for nectar shortcode generator conditional
if( !function_exists('is_edit_page') ) {
function is_edit_page($new_edit = null){
global $pagenow;
//make sure we are on the backend
if (!is_admin()) { return false; }
if($new_edit == "edit") {
return in_array( $pagenow, array( 'post.php', ) );
}
elseif($new_edit == "new") { //check for new post page
return in_array( $pagenow, array( 'post-new.php' ) );
}
else { //check for either new or edit
return in_array( $pagenow, array( 'post.php', 'post-new.php' ) );
}
}
}
//utility function for WPML duplicate content
if(defined('ICL_LANGUAGE_CODE')) {
add_filter( 'icl_ls_languages', 'wmpl_duplicate_content_fix' );
function wmpl_duplicate_content_fix( $languages ) {
wp_reset_query();
return $languages;
}
add_filter( 'wpml_pb_shortcode_content_for_translation', 'nectar_wpml_filter_content_for_translation', 10 , 2 );
function nectar_wpml_filter_content_for_translation( $content, $post_id ) {
if ( 'portfolio' === get_post_type( $post_id ) ) {
$content = get_post_meta( $post_id, "_nectar_portfolio_extra_content", true );
}
return $content;
}
add_filter( 'wpml_pb_shortcodes_save_translation', 'nectar_wpml_filter_save_translation', 10, 3 );
function nectar_wpml_filter_save_translation( $saved, $post_id, $new_content ) {
if ( 'portfolio' === get_post_type( $post_id ) ) {
update_post_meta( $post_id, "_nectar_portfolio_extra_content", $new_content );
$saved = true;
}
return $saved;
}
}
#-----------------------------------------------------------------#
# Disable Gutenberg for Salient CPTs
#-----------------------------------------------------------------#
function nectar_disable_gutenberg_on_cpts($can_edit, $post_type){
if($post_type == 'portfolio' || $post_type == 'nectar_slider' || $post_type == 'home_slider'){
$can_edit = false;
}
return $can_edit;
}
add_filter('gutenberg_can_edit_post_type', 'nectar_disable_gutenberg_on_cpts', 10, 2);
#-----------------------------------------------------------------#
# Portfolio single page controls
#-----------------------------------------------------------------#
if (!function_exists('project_single_control')) {
function project_single_controls() {
global $options;
global $post;
$back_to_all_override = get_post_meta($post->ID, 'nectar-metabox-portfolio-parent-override', true);
if(empty($back_to_all_override)) $back_to_all_override = 'default';
//attempt to find parent portfolio page - if unsuccessful default to main portfolio page
$terms = get_the_terms($post->id,"project-type");
$project_cat = null;
$portfolio_link = null;
$single_nav_pos = (!empty($options['portfolio_single_nav'])) ? $options['portfolio_single_nav'] : 'in_header';
if(empty($terms)) $terms = array('1' => (object) array('name' => 'nothing', 'slug' => 'none'));
foreach ( $terms as $term ) {
$project_cat = strtolower($term->name);
}
$page = get_page_by_title_search($project_cat);
if(empty($page)) $page = array( '0' => (object) array('ID' => 'nothing'));
$page_link = verify_portfolio_page($page[0]->ID);
//if a page has been found for the category
if(!empty($page_link) && $back_to_all_override == 'default' && $single_nav_pos != 'after_project_2') {
$portfolio_link = $page_link;
?>
<div id="portfolio-nav">
<?php if($single_nav_pos != 'after_project_2') { ?>
<ul>
<li id="all-items"><a href="<?php echo $portfolio_link; ?>"><i class="icon-salient-back-to-all"></i></a></li>
</ul>
<?php } ?>
<ul class="controls">
<?php if($single_nav_pos == 'after_project') { ?>
<li id="prev-link"><?php be_next_post_link('%link','<i class="icon-angle-left"></i> <span>' . __("Previous Project", 'salient') .'</span>' ,TRUE, null,'project-type'); ?></li>
<li id="next-link"><?php be_previous_post_link('%link', '<span>'. __('Next Project', 'salient') . '</span><i class="icon-angle-right"></i>',TRUE, null, 'project-type'); ?></li>
<?php } else { ?>
<li id="prev-link"><?php be_next_post_link('%link','<i class="icon-salient-left-arrow-thin"></i>',TRUE, null,'project-type'); ?></li>
<li id="next-link"><?php be_previous_post_link('%link','<i class="icon-salient-right-arrow-thin"></i>',TRUE, null, 'project-type'); ?></li>
<?php } ?>
</ul>
</div>
<?php }
//if no category page exists
else {
$portfolio_link = get_portfolio_page_link(get_the_ID());
if(!empty($options['main-portfolio-link'])) $portfolio_link = $options['main-portfolio-link'];
if($back_to_all_override != 'default') $portfolio_link = get_page_link($back_to_all_override);
?>
<div id="portfolio-nav">
<?php if($single_nav_pos != 'after_project_2') { ?>
<ul>
<li id="all-items"><a href="<?php echo $portfolio_link; ?>" title="<?php echo __('Back to all projects', 'salient'); ?>"><i class="icon-salient-back-to-all"></i></a></li>
</ul>
<?php } ?>
<ul class="controls">
<?php
if(!empty($options['portfolio_same_category_single_nav']) && $options['portfolio_same_category_single_nav'] == '1') {
// get_posts in same custom taxonomy
$terms = get_the_terms($post->id,"project-type");
$project_cat = null;
if(empty($terms)) $terms = array('1' => (object) array('name' => 'nothing', 'slug' => 'none'));
foreach ( $terms as $term ) {
$project_cat = strtolower($term->slug);
}
$postlist_args = array(
'posts_per_page' => -1,
'orderby' => 'menu_order title',
'order' => 'ASC',
'post_type' => 'portfolio',
'project-type' => $project_cat
);
$postlist = get_posts( $postlist_args );
// get ids of posts retrieved from get_posts
$ids = array();
foreach ($postlist as $thepost) {
$ids[] = $thepost->ID;
}
// get and echo previous and next post in the same taxonomy
$thisindex = array_search($post->ID, $ids);
$previd = (isset($ids[$thisindex-1])) ? $ids[$thisindex-1] : null;
$nextid = (isset($ids[$thisindex+1])) ? $ids[$thisindex+1] : null;
if ( !empty($previd) ) {
if($single_nav_pos == 'after_project')
echo '<li id="prev-link" class="from-sing"><a href="' . get_permalink($previd). '"><i class="icon-angle-left"></i><span>'. __('Previous Project', 'salient') .'</span></a></li>';
else if($single_nav_pos == 'after_project_2') {
$hidden_class = (empty($previd)) ? 'hidden' : null ;
$only_class = (empty($nextid)) ? ' only': null;
echo '<li class="previous-project '.$hidden_class.$only_class.'">';
if(!empty($previd)) {
$previous_post_id = $previd;
$bg = get_post_meta($previous_post_id, '_nectar_header_bg', true);
if(!empty($bg)){
//page header
echo '<div class="proj-bg-img" style="background-image: url('.$bg.');"></div>';
} elseif(has_post_thumbnail($previous_post_id)) {
//featured image
$post_thumbnail_id = get_post_thumbnail_id($previous_post_id);
$post_thumbnail_url = wp_get_attachment_url( $post_thumbnail_id );
echo '<div class="proj-bg-img" style="background-image: url('.$post_thumbnail_url.');"></div>';
}
echo '<a href="'.get_permalink($previous_post_id).'"></a><h3><span>'.__('Previous Project','salient').'</span><span class="text">'.get_the_title($previous_post_id).'
<svg class="next-arrow" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 39 12"><line class="top" x1="23" y1="-0.5" x2="29.5" y2="6.5" stroke="#ffffff;"></line><line class="bottom" x1="23" y1="12.5" x2="29.5" y2="5.5" stroke="#ffffff;"></line></svg><span class="line"></span></span></h3>';
}
echo '</li>';
}
else
echo '<li id="prev-link" class="from-sing"><a href="' . get_permalink($previd). '"><i class="icon-salient-left-arrow-thin"></i></a></li>';
}
if ( !empty($nextid) ) {
if($single_nav_pos == 'after_project')
echo '<li id="next-link" class="from-sing"><a href="' . get_permalink($nextid). '"><span>'. __('Next Project', 'salient') .'</span><i class="icon-angle-right"></i></a></li>';
else if($single_nav_pos == 'after_project_2') {
$hidden_class = (empty($nextid)) ? 'hidden' : null ;
$only_class = (empty($previd)) ? ' only': null;
echo '<li class="next-project '.$hidden_class.$only_class.'">';
if(!empty($nextid)) {
$next_post_id = $nextid;
$bg = get_post_meta($next_post_id, '_nectar_header_bg', true);
if(!empty($bg)){
//page header
echo '<div class="proj-bg-img" style="background-image: url('.$bg.');"></div>';
} elseif(has_post_thumbnail($next_post_id)) {
//featured image
$post_thumbnail_id = get_post_thumbnail_id($next_post_id);
$post_thumbnail_url = wp_get_attachment_url( $post_thumbnail_id );
echo '<div class="proj-bg-img" style="background-image: url('.$post_thumbnail_url.');"></div>';
}
}
echo '<a href="'.get_permalink($next_post_id).'"></a><h3><span>'.__('Next Project','salient').'</span><span class="text">'.get_the_title($next_post_id).'
<svg class="next-arrow" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 39 12"><line class="top" x1="23" y1="-0.5" x2="29.5" y2="6.5" stroke="#ffffff;"></line><line class="bottom" x1="23" y1="12.5" x2="29.5" y2="5.5" stroke="#ffffff;"></line></svg><span class="line"></span></span></h3>';
echo '</li>';
}
else
echo '<li id="next-link" class="from-sing"><a href="' . get_permalink($nextid). '"><i class="icon-salient-right-arrow-thin"></i></a></li>';
}
} else { ?>
<?php if($single_nav_pos == 'after_project') { ?>
<li id="prev-link"><?php next_post_link('%link','<i class="icon-angle-left"></i><span>'.__('Previous Project', 'salient').'</span>'); ?></li>
<li id="next-link"><?php previous_post_link('%link', '<span>'. __('Next Project', 'salient').'</span><i class="icon-angle-right"></i>'); ?></li>
<?php }
else if($single_nav_pos == 'after_project_2') {
$previous_post = get_next_post();
$next_post = get_previous_post();
$hidden_class = (empty($previous_post)) ? 'hidden' : null ;
$only_class = (empty($next_post)) ? ' only': null;
echo '<li class="previous-project '.$hidden_class.$only_class.'">';
if(!empty($previous_post)) {
$previous_post_id = $previous_post->ID;
$bg = get_post_meta($previous_post_id, '_nectar_header_bg', true);
if(!empty($bg)){
//page header
echo '<div class="proj-bg-img" style="background-image: url('.$bg.');"></div>';
} elseif(has_post_thumbnail($previous_post_id)) {
//featured image
$post_thumbnail_id = get_post_thumbnail_id($previous_post_id);
$post_thumbnail_url = wp_get_attachment_url( $post_thumbnail_id );
echo '<div class="proj-bg-img" style="background-image: url('.$post_thumbnail_url.');"></div>';
}
echo '<a href="'.get_permalink($previous_post_id).'"></a><h3><span>'.__('Previous Project','salient').'</span><span class="text">'.$previous_post->post_title.'
<svg class="next-arrow" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 39 12"><line class="top" x1="23" y1="-0.5" x2="29.5" y2="6.5" stroke="#ffffff;"></line><line class="bottom" x1="23" y1="12.5" x2="29.5" y2="5.5" stroke="#ffffff;"></line></svg><span class="line"></span></span></h3>';
}
echo '</li>';
$hidden_class = (empty($next_post)) ? 'hidden' : null ;
$only_class = (empty($previous_post)) ? ' only': null;
echo '<li class="next-project '.$hidden_class.$only_class.'">';
if(!empty($next_post)) {
$next_post_id = $next_post->ID;
$bg = get_post_meta($next_post_id, '_nectar_header_bg', true);
if(!empty($bg)){
//page header
echo '<div class="proj-bg-img" style="background-image: url('.$bg.');"></div>';
} elseif(has_post_thumbnail($next_post_id)) {
//featured image
$post_thumbnail_id = get_post_thumbnail_id($next_post_id);
$post_thumbnail_url = wp_get_attachment_url( $post_thumbnail_id );
echo '<div class="proj-bg-img" style="background-image: url('.$post_thumbnail_url.');"></div>';
}
}
echo '<a href="'.get_permalink($next_post_id).'"></a><h3><span>'.__('Next Project','salient').'</span><span class="text">'.$next_post->post_title.'
<svg class="next-arrow" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 39 12"><line class="top" x1="23" y1="-0.5" x2="29.5" y2="6.5" stroke="#ffffff;"></line><line class="bottom" x1="23" y1="12.5" x2="29.5" y2="5.5" stroke="#ffffff;"></line></svg><span class="line"></span></span></h3>';
echo '</li>';
}
else { ?>
<li id="prev-link"><?php next_post_link('%link','<i class="icon-salient-left-arrow-thin"></i>'); ?><?php if($single_nav_pos == 'after_project') echo __('Previous Project', 'salient'); ?></li>
<li id="next-link"><?php if($single_nav_pos == 'after_project') echo __('Next Project', 'salient'); ?><?php previous_post_link('%link','<i class="icon-salient-right-arrow-thin"></i>'); ?></li>
<?php } ?>
<?php } ?>
</ul>
</div>
<?php }
}
}
#-----------------------------------------------------------------#
# Shortcodes - have to load after taxonomy/post type declarations
#-----------------------------------------------------------------#
function nectar_shortcode_init() {
//load nectar shortcode button
require_once ( 'nectar/tinymce/tinymce-class.php' );
}
if(is_admin()){
if(is_edit_page()) {
add_action('init', 'nectar_shortcode_init');
}
}
//Add button to page
add_action('media_buttons','nectar_buttons',100);
function nectar_buttons() {
echo "<a data-effect='mfp-zoom-in' class='button nectar-shortcode-generator' href='#nectar-sc-generator'><img src='".get_template_directory_uri()."/nectar/assets/img/icons/n.png' /> ". __('Nectar Shortcodes', 'salient')."</a>";
}
//Shortcode Processing
if (!function_exists('nectar_shortcode_processing')) {
function nectar_shortcode_processing(){
require_once ( 'nectar/tinymce/shortcode-processing.php' );
}
}
add_action('init', 'nectar_shortcode_processing');
#-----------------------------------------------------------------#
# Portfolio Meta
#-----------------------------------------------------------------#
include("nectar/meta/portfolio-meta.php");
#-----------------------------------------------------------------#
# New category walker for portfolio filter
#-----------------------------------------------------------------#
class Walker_Portfolio_Filter extends Walker_Category {
function start_el(&$output, $category, $depth = 0, $args = array(), $current_object_id = 0) {
extract($args);
$cat_slug = esc_attr( $category->slug );
$cat_slug = apply_filters( 'list_cats', $cat_slug, $category );
$link = '<li><a href="#" data-filter=".'.strtolower(preg_replace('/\s+/', '-', $cat_slug)).'">';
$cat_name = esc_attr( $category->name );
$cat_name = apply_filters( 'list_cats', $cat_name, $category );
$link .= $cat_name;
if(!empty($category->description)) {
$link .= ' <span>'.$category->description.'</span>';
}
$link .= '</a>';
$output .= $link;
}
}
#-----------------------------------------------------------------#
# Function to get the page link back to all portfolio items
#-----------------------------------------------------------------#
function get_portfolio_page_link($post_id) {
global $wpdb;
$post_id = sanitize_text_field($post_id);
$results = $wpdb->get_results("SELECT post_id FROM $wpdb->postmeta
WHERE meta_key='_wp_page_template' AND meta_value='template-portfolio.php'");
//safety net
$page_id = null;
foreach ($results as $result)
{
$page_id = $result->post_id;
}
return get_page_link($page_id);
}
#-----------------------------------------------------------------#
# Function to get verify that the page has the portfolio layout assigned
#-----------------------------------------------------------------#
function verify_portfolio_page($post_id) {
global $wpdb;
$post_id = sanitize_text_field($post_id);
$result = $wpdb->get_results("SELECT post_id FROM $wpdb->postmeta
WHERE meta_key='_wp_page_template' AND meta_value='template-portfolio.php' AND post_id='$post_id' LIMIT 1");
if(!empty($result)) {
return get_page_link($result[0]->post_id);
} else {
return null;
}
}
#-----------------------------------------------------------------#
# Function to find page that contains string
#-----------------------------------------------------------------#
function get_page_by_title_search($string){
global $wpdb;
$string = sanitize_text_field($string);
$title = esc_sql($string);
if(!$title) return;
$page = $wpdb->get_results("
SELECT *
FROM $wpdb->posts
WHERE post_title LIKE '%$title%'
AND post_type = 'page'
AND post_status = 'publish'
LIMIT 1
");
return $page;
}
#-----------------------------------------------------------------#
# Post meta
#-----------------------------------------------------------------#
if (!function_exists('enqueue_media')) {
function enqueue_media(){
//enqueue the correct media scripts for the media library
if ( floatval(get_bloginfo('version')) < "3.5" ) {
wp_enqueue_script(
'redux-opts-field-upload-js',
ReduxFramework::$_url . 'inc/fields/upload/field_upload_3_4.js',
array('jquery', 'thickbox', 'media-upload'),
'8.5.4',
true
);
wp_enqueue_style('thickbox');// thanks to https://github.com/rzepak
} else {
}
}
}
//post meta styling
function nectar_metabox_styles() {
wp_enqueue_style('nectar_meta_css', NECTAR_FRAMEWORK_DIRECTORY .'assets/css/nectar_meta.css','', '9.0.1');
}
//post meta scripts
function nectar_metabox_scripts() {
wp_register_script('nectar-upload', NECTAR_FRAMEWORK_DIRECTORY .'assets/js/nectar-meta.js', array('jquery'), '9.0');
wp_enqueue_script('nectar-upload');
wp_localize_script('redux-opts-field-upload-js', 'redux_upload', array('url' => get_template_directory_uri() .'/nectar/redux-framework/ReduxCore/inc/fields/upload/blank.png'));
if(floatval(get_bloginfo('version')) >= '3.5') {
wp_enqueue_style('wp-color-picker');
wp_enqueue_script(
'redux-opts-field-upload-js',
get_template_directory_uri() .'/nectar/redux-framework/ReduxCore/inc/fields/upload/field_upload.js',
array('jquery'),
'8.5.4',
true
);
wp_enqueue_script(
'redux-opts-field-color-js',
NECTAR_FRAMEWORK_DIRECTORY . 'options/fields/color/field_color.js',
array('wp-color-picker'),
'8.0.1',
true
);
wp_enqueue_media();
} else {
wp_enqueue_script(
'redux-opts-field-color-js',
NECTAR_FRAMEWORK_DIRECTORY . 'options/fields/color/field_color_farb.js',
array('jquery', 'farbtastic'),
time(),
true
);
}
}
add_action('admin_enqueue_scripts', 'nectar_metabox_scripts');
add_action('admin_print_styles', 'nectar_metabox_styles');
add_action('admin_print_styles', 'enqueue_media');
//post meta core functions
include("nectar/meta/meta-config.php");
include("nectar/meta/post-meta.php");
function nectar_blog_social_sharing() {
global $options;
global $post;
ob_start();
$fullscreen_header = (!empty($options['blog_header_type']) && $options['blog_header_type'] == 'fullscreen' && is_singular('post')) ? true : false;
$fullscreen_class = ($fullscreen_header == true) ? 'hide-share-count': null;
$blog_header_type = (!empty($options['blog_header_type'])) ? $options['blog_header_type'] : 'default';
if( !empty($options['blog_social']) && $options['blog_social'] == 1 || $fullscreen_header == true) {
echo '<div class="nectar-social '.$fullscreen_class.'">';
if($fullscreen_header == false) {
echo '<span class="n-shortcode">'.nectar_love('return').'</span>';
//facebook
if(!empty($options['blog-facebook-sharing']) && $options['blog-facebook-sharing'] == 1) {
echo "<a class='facebook-share nectar-sharing' href='#' title='".__('Share this', 'salient')."'> <i class='fa fa-facebook'></i> <span class='social-text'>".__('Share','salient')."</span> <span class='count'></span></a>";
}
//twitter
if(!empty($options['blog-twitter-sharing']) && $options['blog-twitter-sharing'] == 1) {
echo "<a class='twitter-share nectar-sharing' href='#' title='".__('Tweet this', 'salient')."'> <i class='fa fa-twitter'></i> <span class='social-text'>".__('Tweet','salient')."</span> <span class='count'></span></a>";
}
//google plus
if(!empty($options['blog-google-plus-sharing']) && $options['blog-google-plus-sharing'] == 1) {
echo "<a class='google-plus-share nectar-sharing-alt' href='#' title='".__('Share this', 'salient')."'> <i class='fa fa-google-plus'></i> <span class='social-text'>".__('Share','salient')."</span> <span class='count'>0</span></a>";
}
//linkedIn
if(!empty($options['blog-linkedin-sharing']) && $options['blog-linkedin-sharing'] == 1) {
echo "<a class='linkedin-share nectar-sharing' href='#' title='".__('Share this', 'salient')."'> <i class='fa fa-linkedin'></i> <span class='social-text'>".__('Share','salient')."</span> <span class='count'> </span></a>";
}
//pinterest
if(!empty($options['blog-pinterest-sharing']) && $options['blog-pinterest-sharing'] == 1) {
echo "<a class='pinterest-share nectar-sharing' href='#' title='".__('Pin this', 'salient')."'> <i class='fa fa-pinterest'></i> <span class='social-text'>".__('Pin','salient')."</span> <span class='count'></span></a>";
}
} else {
//facebook
echo "<a class='facebook-share nectar-sharing' href='#' title='".__('Share this', 'salient')."'> <i class='fa fa-facebook'></i> <span class='count'></span></a>";
echo "<a class='twitter-share nectar-sharing' href='#' title='".__('Tweet this', 'salient')."'> <i class='fa fa-twitter'></i> <span class='count'></span></a>";
echo "<a class='google-plus-share nectar-sharing-alt' href='#' title='".__('Share this', 'salient')."'> <i class='fa fa-google-plus'></i> <span class='count'>0</span></a>";
echo "<a class='linkedin-share nectar-sharing' href='#' title='".__('Share this', 'salient')."'> <i class='fa fa-linkedin'></i> <span class='count'> </span></a>";
echo "<a class='pinterest-share nectar-sharing' href='#' title='".__('Pin this', 'salient')."'> <i class='fa fa-pinterest'></i> <span class='count'></span></a>";
}
echo '</div>';
}
$sharing_output = ob_get_contents();
ob_end_clean();
echo $sharing_output;
}
function nectar_next_post_display() {
global $post;
global $options;
$post_header_style = (!empty($options['blog_header_type'])) ? $options['blog_header_type'] : 'default';
$post_pagination_style = (!empty($options['blog_next_post_link_style'])) ? $options['blog_next_post_link_style'] : 'fullwidth_next_only';
$post_pagination_style_output = ($post_pagination_style == 'contained_next_prev') ? 'fullwidth_next_prev' : $post_pagination_style;
$full_width_content_class = ($post_pagination_style == 'contained_next_prev') ? '' : 'full-width-content';
ob_start();
$next_post = get_previous_post();
if (!empty( $next_post ) && !empty($options['blog_next_post_link']) && $options['blog_next_post_link'] == '1' ||
$post_pagination_style == 'contained_next_prev' && !empty($options['blog_next_post_link']) && $options['blog_next_post_link'] == '1' ||
$post_pagination_style == 'fullwidth_next_prev' && !empty($options['blog_next_post_link']) && $options['blog_next_post_link'] == '1' ) { ?>
<div data-post-header-style="<?php echo $post_header_style; ?>" class="blog_next_prev_buttons wpb_row vc_row-fluid <?php echo $full_width_content_class; ?> standard_section" data-style="<?php echo $post_pagination_style_output; ?>" data-midnight="light">
<?php
if(!empty($next_post)) {
$bg = get_post_meta($next_post->ID, '_nectar_header_bg', true);
$bg_color = get_post_meta($next_post->ID, '_nectar_header_bg_color', true);
} else {
$bg = '';
$bg_color = '';
}
if($post_pagination_style == 'fullwidth_next_prev' || $post_pagination_style == 'contained_next_prev') {
//next & prev
$previous_post = get_next_post();
$next_post = get_previous_post();
$hidden_class = (empty($previous_post)) ? 'hidden' : null ;
$only_class = (empty($next_post)) ? ' only': null;
echo '<ul class="controls"><li class="previous-post '.$hidden_class.$only_class.'">';
if(!empty($previous_post)) {
$previous_post_id = $previous_post->ID;
$bg = get_post_meta($previous_post_id, '_nectar_header_bg', true);
if(!empty($bg)){
//page header
echo '<div class="post-bg-img" style="background-image: url('.$bg.');"></div>';
} elseif(has_post_thumbnail($previous_post_id)) {
//featured image
$post_thumbnail_id = get_post_thumbnail_id($previous_post_id);
$post_thumbnail_url = wp_get_attachment_url( $post_thumbnail_id );
echo '<div class="post-bg-img" style="background-image: url('.$post_thumbnail_url.');"></div>';
}
echo '<a href="'.get_permalink($previous_post_id).'"></a><h3><span>'.__('Previous Post','salient').'</span><span class="text">'.$previous_post->post_title.'
<svg class="next-arrow" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 39 12"><line class="top" x1="23" y1="-0.5" x2="29.5" y2="6.5" stroke="#ffffff;"></line><line class="bottom" x1="23" y1="12.5" x2="29.5" y2="5.5" stroke="#ffffff;"></line></svg><span class="line"></span></span></h3>';
}
echo '</li>';
$hidden_class = (empty($next_post)) ? 'hidden' : null ;
$only_class = (empty($previous_post)) ? ' only': null;
echo '<li class="next-post '.$hidden_class.$only_class.'">';
if(!empty($next_post)) {
$next_post_id = $next_post->ID;
$bg = get_post_meta($next_post_id, '_nectar_header_bg', true);
if(!empty($bg)){
//page header
echo '<div class="post-bg-img" style="background-image: url('.$bg.');"></div>';
} elseif(has_post_thumbnail($next_post_id)) {
//featured image
$post_thumbnail_id = get_post_thumbnail_id($next_post_id);
$post_thumbnail_url = wp_get_attachment_url( $post_thumbnail_id );
echo '<div class="post-bg-img" style="background-image: url('.$post_thumbnail_url.');"></div>';
}
}
echo '<a href="'.get_permalink($next_post_id).'"></a><h3><span>'.__('Next Post','salient').'</span><span class="text">'.$next_post->post_title.'
<svg class="next-arrow" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 39 12"><line class="top" x1="23" y1="-0.5" x2="29.5" y2="6.5" stroke="#ffffff;"></line><line class="bottom" x1="23" y1="12.5" x2="29.5" y2="5.5" stroke="#ffffff;"></line></svg><span class="line"></span></span></h3>';
echo '</li></ul>';
} else {
//next only
if(!empty($bg) || !empty($bg_color)){
//page header
if(!empty($bg)) echo '<img src="'.$bg.'" alt="'.get_the_title($next_post->ID).'" />';
else echo '<span class="bg-color-only-indicator"></span>';
} elseif(has_post_thumbnail($next_post->ID)) {
//featured image
$post_thumbnail_id = get_post_thumbnail_id($next_post->ID);
$post_thumbnail_url = wp_get_attachment_url( $post_thumbnail_id );
echo '<img src="'.$post_thumbnail_url.'" alt="'.get_the_title($next_post->ID).'" />';
} ?>
<div class="col span_12 dark left">
<div class="inner">
<span><?php echo '<i>'. __('Next Post','salient') .'</i>'; ?></span>
<?php previous_post_link('%link','<h3>%title</h3>'); ?>
</div>
</div>
<span class="bg-overlay"></span>
<span class="full-link"><?php previous_post_link('%link'); ?></span>
<?php } ?>
</div>
<?php }
$next_post_link_output = ob_get_contents();
ob_end_clean();
echo $next_post_link_output;
}
function nectar_related_post_display() {
global $post;
global $options;
$using_related_posts = (!empty($options['blog_related_posts']) && !empty($options['blog_related_posts']) == '1') ? true : false;
if($using_related_posts == false) return;
ob_start();
$current_categories = get_the_category($post->ID);
if($current_categories) {
$category_ids = array();
foreach($current_categories as $individual_category) {
$category_ids[] = $individual_category->term_id;
}
$relatedBlogPosts = array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'showposts' => 3,
'ignore_sticky_posts' => 1
);
$related_posts_query = new WP_Query($relatedBlogPosts);
$related_post_count = $related_posts_query->post_count;
if($related_post_count < 2) return;
$span_num = ($related_post_count == 2) ? 'span_6' : 'span_4';
$related_title_text = __("Related Posts", 'salient');
$related_post_title_option = (!empty($options['blog_related_posts_title_text'])) ? $options['blog_related_posts_title_text'] : 'Related Posts';
switch($related_post_title_option){
case 'related_posts':
$related_title_text = __("Related Posts", 'salient');
break;
case 'similar_posts':
$related_title_text = __("Similar Posts", 'salient');
break;
case 'you_may_also_like':
$related_title_text = __("You May Also Like", 'salient');
break;
case 'recommended_for_you':
$related_title_text = __("Recommended For You", 'salient');
break;
}
$hidden_title_class = null;
if($related_post_title_option == 'hidden') $hidden_title_class = 'hidden';
$using_post_pag = (!empty($options['blog_next_post_link']) && $options['blog_next_post_link'] == '1') ? 'true' : 'false';
$related_post_style = (!empty($options['blog_related_posts_style'])) ? $options['blog_related_posts_style'] : 'material';
echo '<div class="row vc_row-fluid full-width-section related-post-wrap" data-using-post-pagination="'.$using_post_pag.'" data-midnight="dark"> <div class="row-bg-wrap"><div class="row-bg"></div></div> <h3 class="related-title '.$hidden_title_class.'">'. $related_title_text .'</h3><div class="row span_12 blog-recent related-posts columns-'.$related_post_count.'" data-style="'.$related_post_style.'" data-color-scheme="light">';
if( $related_posts_query->have_posts() ) : while( $related_posts_query->have_posts() ) : $related_posts_query->the_post(); ?>
<div class="col <?php echo $span_num; ?>">
<div <?php post_class('inner-wrap'); ?>>
<?php
if ( has_post_thumbnail() ) {
$related_image_size = ($related_post_count == 2) ? 'wide_photography' : 'portfolio-thumb';
echo'<a href="' . get_permalink() . '" class="img-link"><span class="post-featured-img">'.get_the_post_thumbnail($post->ID, $related_image_size, array('title' => '')) .'</span></a>';
} ?>
<?php
echo '<span class="meta-category">';
$categories = get_the_category();
if ( ! empty( $categories ) ) {
$output = null;
foreach( $categories as $category ) {
$output .= '<a class="'.$category->slug.'" href="' . esc_url( get_category_link( $category->term_id ) ) . '">' . esc_html( $category->name ) . '</a>';
}
echo trim( $output);
}
echo '</span>'; ?>
<a class="entire-meta-link" href="<?php the_permalink(); ?>"></a>
<div class="article-content-wrap">
<div class="post-header">
<span class="meta"> <?php if($related_post_style != 'material') echo get_the_date(); ?> </span>
<h3 class="title"><?php the_title(); ?></h3>
</div><!--/post-header-->
<?php
if (function_exists('get_avatar') && $related_post_style == 'material') {
echo '<div class="grav-wrap">'.get_avatar( get_the_author_meta('email'), 70, null, get_the_author() ). '<div class="text"> <a href="'.get_author_posts_url($post->post_author).'">' .get_the_author().'</a><span>'. get_the_date() .'</span></div></div>'; }
?>
</div>
<?php if($related_post_style != 'material') { ?>
<div class="post-meta">
<span class="meta-author"> <a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>"> <i class="icon-default-style icon-salient-m-user"></i> <?php the_author(); ?></a> </span>
<?php if(comments_open()) { ?>
<span class="meta-comment-count"> <a href="<?php comments_link(); ?>">
<i class="icon-default-style steadysets-icon-chat-3"></i> <?php comments_number( '0', '1','%' ); ?></a>
</span>
<?php } ?>
</div>
<?php
} ?>
</div>
</div>
<?php
endwhile; endif;
echo '</div></div>';
wp_reset_postdata();
}// if has categories
$related_posts_content = ob_get_contents();
ob_end_clean();
echo $related_posts_content;
}
//default video size
$content_width = 1080;
/** Grab IDs from new WP 3.5 gallery **/
if( !function_exists('grab_ids_from_gallery') ) {
function grab_ids_from_gallery() {
global $post;
if($post != null) {
//if using gutenberg
if(function_exists('gutenberg_parse_blocks')) {
if(false !== strpos( $post->post_content, '<!-- wp:' )) {
$post_blocks = gutenberg_parse_blocks($post->post_content);
//loop through and look for gallery
foreach($post_blocks as $key => $block) {
//gallery block found
if(isset($block['blockName']) && isset($block['innerHTML']) && $block['blockName'] == 'core/gallery') {
preg_match_all( '/data-id="([^"]*)"/' , $block['innerHTML'], $id_matches );
if($id_matches && isset($id_matches[1])) {
return $id_matches[1];
}
} //gallery block found end
} //foreach post block loop end
} //if the post appears to be using gutenberg
}
$attachment_ids = array();
$pattern = '\[(\[?)(gallery)(?![\w-])([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]*+(?:\[(?!\/\2\])[^\[]*+)*+)\[\/\2\])?)(\]?)';
$ids = array();
$portfolio_extra_content = get_post_meta($post->ID, '_nectar_portfolio_extra_content', true);
if (preg_match_all( '/'. $pattern .'/s', $post->post_content, $matches ) ) {
$count=count($matches[3]); //in case there is more than one gallery in the post.
for ($i = 0; $i < $count; $i++){
$atts = shortcode_parse_atts( $matches[3][$i] );
if ( isset( $atts['ids'] ) ){
$attachment_ids = explode( ',', $atts['ids'] );
$ids = array_merge($ids, $attachment_ids);
}
}
}
if (preg_match_all( '/'. $pattern .'/s', $portfolio_extra_content, $matches ) ) {
$count=count($matches[3]);
for ($i = 0; $i < $count; $i++){
$atts = shortcode_parse_atts( $matches[3][$i] );
if ( isset( $atts['ids'] ) ){
$attachment_ids = explode( ',', $atts['ids'] );
$ids = array_merge($ids, $attachment_ids);
}
}
}
return $ids;
} else {
$ids = array();
return $ids;
}
}
}
/*Previous and Next Post in Same Taxonomy*/
/*Author: Bill Erickson*/
if( !function_exists('be_get_previous_post') ) {
function be_get_previous_post($in_same_cat = false, $excluded_categories = '', $taxonomy = 'category') {
return be_get_adjacent_post($in_same_cat, $excluded_categories, true, $taxonomy);
}
}
if( !function_exists('be_get_next_post') ) {
function be_get_next_post($in_same_cat = false, $excluded_categories = '', $taxonomy = 'category') {
return be_get_adjacent_post($in_same_cat, $excluded_categories, false, $taxonomy);
}
}
if( !function_exists('be_get_adjacent_post') ) {
function be_get_adjacent_post( $in_same_cat = false, $excluded_categories = '', $previous = true, $taxonomy = 'category' ) {
global $post, $wpdb;
if ( empty( $post ) )
return null;
$current_post_date = $post->post_date;
$join = '';
$posts_in_ex_cats_sql = '';
if ( $in_same_cat || ! empty( $excluded_categories ) ) {
$join = " INNER JOIN $wpdb->term_relationships AS tr ON p.ID = tr.object_id INNER JOIN $wpdb->term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id";
if ( $in_same_cat ) {
$cat_array = wp_get_object_terms($post->ID, $taxonomy, array('fields' => 'ids'));
$join .= " AND tt.taxonomy = '$taxonomy' AND tt.term_id IN (" . implode(',', $cat_array) . ")";
}
$posts_in_ex_cats_sql = "AND tt.taxonomy = '$taxonomy'";
if ( ! empty( $excluded_categories ) ) {
if ( ! is_array( $excluded_categories ) ) {
// back-compat, $excluded_categories used to be IDs separated by " and "
if ( strpos( $excluded_categories, ' and ' ) !== false ) {
_deprecated_argument( __FUNCTION__, '3.3', sprintf( __( 'Use commas instead of %s to separate excluded categories.','salient' ), "'and'" ) );
$excluded_categories = explode( ' and ', $excluded_categories );
} else {
$excluded_categories = explode( ',', $excluded_categories );
}
}
$excluded_categories = array_map( 'intval', $excluded_categories );
if ( ! empty( $cat_array ) ) {
$excluded_categories = array_diff($excluded_categories, $cat_array);
$posts_in_ex_cats_sql = '';
}
if ( !empty($excluded_categories) ) {
$posts_in_ex_cats_sql = " AND tt.taxonomy = '$taxonomy' AND tt.term_id NOT IN (" . implode($excluded_categories, ',') . ")";
}
}
}
$adjacent = $previous ? 'previous' : 'next';
$op = $previous ? '<' : '>';
$order = $previous ? 'DESC' : 'ASC';
$join = apply_filters( "get_{$adjacent}_post_join", $join, $in_same_cat, $excluded_categories );
$where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare("WHERE p.post_date $op %s AND p.post_type = %s AND p.post_status = 'publish' $posts_in_ex_cats_sql", $current_post_date, $post->post_type), $in_same_cat, $excluded_categories );
$sort = apply_filters( "get_{$adjacent}_post_sort", "ORDER BY p.post_date $order LIMIT 1" );
$query = "SELECT p.* FROM $wpdb->posts AS p $join $where $sort";
$query_key = 'adjacent_post_' . md5($query);
$result = wp_cache_get($query_key, 'counts');
if ( false !== $result )
return $result;
$result = $wpdb->get_row("SELECT p.* FROM $wpdb->posts AS p $join $where $sort");
if ( null === $result )
$result = '';
wp_cache_set($query_key, $result, 'counts');
return $result;
}
}
if( !function_exists('be_previous_post_link') ) {
function be_previous_post_link($format='« %link', $link='%title', $in_same_cat = false, $excluded_categories = '', $taxonomy = 'category') {
be_adjacent_post_link($format, $link, $in_same_cat, $excluded_categories, true, $taxonomy);
}
}
if( !function_exists('be_next_post_link') ) {
function be_next_post_link($format='%link »', $link='%title', $in_same_cat = false, $excluded_categories = '', $taxonomy = 'category') {
be_adjacent_post_link($format, $link, $in_same_cat, $excluded_categories, false, $taxonomy);
}
}
if( !function_exists('be_adjacent_post_link') ) {
function be_adjacent_post_link($format, $link, $in_same_cat = false, $excluded_categories = '', $previous = true, $taxonomy = 'category') {
if ( $previous && is_attachment() )
$post = & get_post($GLOBALS['post']->post_parent);
else
$post = be_get_adjacent_post($in_same_cat, $excluded_categories, $previous, $taxonomy);
if ( !$post )
return;
$title = $post->post_title;
if ( empty($post->post_title) )
$title = $previous ? __('Previous Post') : __('Next Post');
$title = apply_filters('the_title', $title, $post->ID);
$date = mysql2date(get_option('date_format'), $post->post_date);
$rel = $previous ? 'prev' : 'next';
$string = '<a href="'.get_permalink($post).'" rel="'.$rel.'">';
$link = str_replace('%title', $title, $link);
$link = str_replace('%date', $date, $link);
$link = $string . $link . '</a>';
$format = str_replace('%link', $link, $format);
$adjacent = $previous ? 'previous' : 'next';
echo apply_filters( "{$adjacent}_post_link", $format, $link );
}
}
#-----------------------------------------------------------------#
# Custom page header
#-----------------------------------------------------------------#
if ( !function_exists( 'nectar_page_header' ) ) {
function nectar_page_header($postid) {
global $options;
global $post;
global $nectar_theme_skin;
global $woocommerce;
$header_auto_title = (!empty($options['header-auto-title']) && $options['header-auto-title'] == '1') ? true : false;
$bg = get_post_meta($postid, '_nectar_header_bg', true);
$bg_color = get_post_meta($postid, '_nectar_header_bg_color', true);
$bg_type = get_post_meta($postid, '_nectar_slider_bg_type', true);
$height = get_post_meta($postid, '_nectar_header_bg_height', true);
$font_color = get_post_meta($postid, '_nectar_header_font_color', true);
$title = get_post_meta($postid, '_nectar_header_title', true);
$subtitle = get_post_meta($postid, '_nectar_header_subtitle', true);
$bg_overlay_color = get_post_meta($postid, '_nectar_header_bg_overlay_color', true);
if($header_auto_title && is_page() && empty($title)) {
$title = esc_html( get_the_title() );
if(empty($bg_color)) { $bg_color = (!empty($options['overall-bg-color'])) ? $options['overall-bg-color'] : '#ffffff'; }
if(empty($bg_overlay_color)) { $bg_overlay_color = 'rgba(0,0,0,0.07)'; }
if(empty($height)) { $height = '225'; }
} else {
$title = get_post_meta($postid, '_nectar_header_title', true);
}
if(empty($bg_type)) { $bg_type = 'image_bg'; }
$early_exit = ( isset($post->post_type) && $post->post_type == 'page' && $bg_type == 'image_bg' && empty($bg_color) && empty($bg) && empty($height) && empty($title)) ? true : false;
$headerRemoveStickiness = (!empty($options['header-remove-fixed'])) ? $options['header-remove-fixed'] : '0';
$headerFormat = (!empty($options['header_format'])) ? $options['header_format'] : 'default';
$condense_header_on_scroll = (!empty($options['condense-header-on-scroll']) && $headerFormat == 'centered-menu-bottom-bar' && $headerRemoveStickiness != '1' && $options['condense-header-on-scroll'] == '1') ? 'true' : 'false';
$fullscreen_rows = get_post_meta($postid, '_nectar_full_screen_rows', true);
if($fullscreen_rows == 'on' || $early_exit) {
return;
}
$parallax_bg = get_post_meta($postid, '_nectar_header_parallax', true);
//woocommerce archives
if(function_exists('woocommerce_page_title')) {
if($woocommerce && is_product_category() || $woocommerce && is_product_tag() || $woocommerce && is_product_taxonomy() ) {
$subtitle = '';
$title = woocommerce_page_title(false);
$cate = get_queried_object();
$t_id = (property_exists($cate, 'term_id')) ? $cate->term_id : '';
$product_terms = get_option( "taxonomy_$t_id" );
$bg = (!empty($product_terms['product_category_image'])) ? $product_terms['product_category_image'] : $bg;
}
}
$page_template = get_post_meta($postid, '_wp_page_template', true);
$display_sortable = get_post_meta($postid, 'nectar-metabox-portfolio-display-sortable', true);
$inline_filters = (!empty($options['portfolio_inline_filters']) && $options['portfolio_inline_filters'] == '1') ? '1' : '0';
$filters_id = (!empty($options['portfolio_inline_filters']) && $options['portfolio_inline_filters'] == '1') ? 'portfolio-filters-inline' : 'portfolio-filters';
$text_align = get_post_meta($postid, '_nectar_page_header_alignment', true);
$text_align_v = get_post_meta($postid, '_nectar_page_header_alignment_v', true);
$fullscreen_header = (!empty($options['blog_header_type']) && $options['blog_header_type'] == 'fullscreen' && is_singular('post')) ? true : false;
$post_header_style = (!empty($options['blog_header_type'])) ? $options['blog_header_type'] : 'default';
$bottom_shadow = get_post_meta($postid, '_nectar_header_bottom_shadow', true);
$bg_overlay = get_post_meta($postid, '_nectar_header_overlay', true);
$text_effect = get_post_meta($postid, '_nectar_page_header_text-effect', true);
$animate_in_effect = (!empty($options['header-animate-in-effect'])) ? $options['header-animate-in-effect'] : 'none';
(!empty($display_sortable) && $display_sortable == 'on') ? $display_sortable = '1' : $display_sortable = '0';
//incase no title is entered for portfolio, still show the filters
if( $page_template == 'template-portfolio.php' && empty($title)) $title = get_the_title($post->ID);
if( (!empty($bg) || !empty($bg_color) || $bg_type == 'video_bg' || $bg_type == 'particle_bg') && !is_post_type_archive( 'post' ) ) {
$social_img_src = (empty($bg)) ? 'none' : $bg;
$bg = (empty($bg)) ? 'none' : $bg;
if($bg_type == 'image_bg' || $bg_type == 'particle_bg') {
(empty($bg_color)) ? $bg_color = '#000' : $bg_color = $bg_color;
} else {
$bg = 'none'; //remove stnd bg image for video BG type
}
$bg_color_string = (!empty($bg_color)) ? 'background-color: '.$bg_color.'; ' : null;
if($bg_type == 'particle_bg') {
$rotate_timing = get_post_meta($postid, '_nectar_particle_rotation_timing', true);
$disable_explosion = get_post_meta($postid, '_nectar_particle_disable_explosion', true);
$shapes = get_post_meta($postid, '_nectar_canvas_shapes', true);
if(empty($shapes)) $bg_type = 'image_bg';
}
if($bg_type == 'video_bg') {
$video_webm = get_post_meta($postid, '_nectar_media_upload_webm', true);
$video_mp4 = get_post_meta($postid, '_nectar_media_upload_mp4', true);
$video_ogv = get_post_meta($postid, '_nectar_media_upload_ogv', true);
$video_image = get_post_meta($postid, '_nectar_slider_preview_image', true);
}
$box_roll = get_post_meta($postid, '_nectar_header_box_roll', true);
if(!empty($options['boxed_layout']) && $options['boxed_layout'] == '1' || $condense_header_on_scroll == 'true') $box_roll = 'off';
$bg_position = get_post_meta($postid, '_nectar_page_header_bg_alignment', true);
if(empty($bg_position)) $bg_position = 'top';
if( $post_header_style == 'default_minimal' && (isset($post->post_type) && $post->post_type == 'post' && is_single())) {
$height = (!empty($height)) ? preg_replace('/\s+/', '', $height) : 550;
} else {
$height = (!empty($height)) ? preg_replace('/\s+/', '', $height) : 350;
}
//mobile padding calc
if(intval($height) < 350) {
$mobile_padding_influence = 'low';
} else if(intval($height) < 600) {
$mobile_padding_influence = 'normal';
} else {
$mobile_padding_influence = 'high';
}
$not_loaded_class = ($nectar_theme_skin != 'ascend') ? "not-loaded" : null;
$page_fullscreen_header = get_post_meta($postid, '_nectar_header_fullscreen', true);
$fullscreen_class = ($fullscreen_header == true || $page_fullscreen_header == 'on') ? "fullscreen-header" : null;
$bottom_shadow_class = ($bottom_shadow == 'on') ? " bottom-shadow": null;
$bg_overlay_class = ($bg_overlay == 'on') ? " bg-overlay": null;
$ajax_page_loading = (!empty($options['ajax-page-loading']) && $options['ajax-page-loading'] == '1') ? true : false;
$hentry_post_class = ( isset($post->post_type) && $post->post_type == 'post' && is_single() ) ? ' hentry' : '';
if($animate_in_effect == 'slide-down') {
$wrapper_height_style = null;
} else {
$wrapper_height_style = 'style="height: '.$height.'px;"';
}
if($fullscreen_header == true && ($post->post_type == 'post' && is_single()) || $page_fullscreen_header == 'on') $wrapper_height_style = null; //diable slide down for fullscreen headers
$force_transparent_header_color = (isset($post->ID)) ? get_post_meta($post->ID, '_force_transparent_header_color', true) : '';
if(empty($force_transparent_header_color)) { $force_transparent_header_color = 'light'; }
$midnight_non_parallax = (!empty($parallax_bg) && $parallax_bg == 'on') ? null : 'data-midnight="light"';
$regular_page_header_midnight_override = 'data-midnight="'.$force_transparent_header_color.'"';
if($box_roll != 'on') { echo '<div id="page-header-wrap" data-animate-in-effect="'. $animate_in_effect .'" data-midnight="'.$force_transparent_header_color.'" class="'.$fullscreen_class.'" '.$wrapper_height_style.'>'; }
if(!empty($box_roll) && $box_roll == 'on') {
wp_enqueue_style('box-roll');
echo '<div class="nectar-box-roll">';
}
//starting fullscreen height
////conditional checking pages and posts
if($page_fullscreen_header == 'on' || $fullscreen_header == true ) {
$starting_height = ' ';
} else {
$starting_height = 'height:' . $height . 'px;';
}
?>
<div class="<?php echo $not_loaded_class . ' ' . $fullscreen_class . $bottom_shadow_class . $hentry_post_class . $bg_overlay_class; ?>" <?php if(isset($post->post_type) && $post->post_type == 'post' && is_single()) echo 'data-post-hs="'.$post_header_style.'"'; ?> data-padding-amt="<?php echo $mobile_padding_influence; ?>" data-animate-in-effect="<?php echo $animate_in_effect; ?>" id="page-header-bg" <?php echo $regular_page_header_midnight_override; ?> data-text-effect="<?php echo $text_effect; ?>" data-bg-pos="<?php echo $bg_position; ?>" data-alignment="<?php echo (!empty($text_align)) ? $text_align : 'left' ; ?>" data-alignment-v="<?php echo (!empty($text_align_v)) ? $text_align_v : 'middle' ; ?>" data-parallax="<?php echo (!empty($parallax_bg) && $parallax_bg == 'on') ? '1' : '0'; ?>" data-height="<?php echo (!empty($height)) ? $height : '350'; ?>" style="<?php echo $bg_color_string; ?> <?php echo $starting_height; ?>">
<?php
if(!empty($bg) && $bg != 'none') { ?><div class="page-header-bg-image-wrap" id="nectar-page-header-p-wrap" data-parallax-speed="medium"><div class="page-header-bg-image" style="background-image: url(<?php echo $bg; ?>);"></div></div> <?php }
if(!empty($bg_overlay_color)) { ?><div class="page-header-overlay-color" style="background-color: <?php echo $bg_overlay_color; ?>;"></div> <?php } ?>
<?php if($bg_type != 'particle_bg') { echo '<div class="container">'; }
if($post->ID != 0 && $post->post_type && $post->post_type == 'portfolio') { ?>
<div class="row project-title">
<div class="container">
<div class="col span_6 section-title <?php if(empty($options['portfolio_social']) || $options['portfolio_social'] == 0 || empty($options['portfolio_date']) || $options['portfolio_date'] == 0 ) echo 'no-date'?>">
<div class="inner-wrap">
<h1><?php the_title(); ?></h1>
<?php if(!empty($subtitle)) { ?> <span class="subheader"><?php echo $subtitle; ?></span> <?php } ?>
<?php
global $options;
$single_nav_pos = (!empty($options['portfolio_single_nav'])) ? $options['portfolio_single_nav'] : 'in_header';
if($single_nav_pos == 'in_header') project_single_controls(); ?>
</div>
</div>
</div>
</div><!--/row-->
<?php } elseif($post->ID != 0 && $post->post_type == 'post' && is_single() ) {
// also set as an img for social sharing/
if($social_img_src != 'none') echo '<img class="hidden-social-img" src="'.$social_img_src.'" alt="'.get_the_title().'" />';
?>
<div class="row">
<div class="col span_6 section-title blog-title">
<div class="inner-wrap">
<?php
global $options;
$theme_skin = (!empty($options['theme-skin'])) ? $options['theme-skin'] : 'default';
if( ($post->post_type == 'post' && is_single()) && $post_header_style == 'default_minimal' ||
($post->post_type == 'post' && is_single()) && $fullscreen_header == true && $theme_skin == 'material') {
$categories = get_the_category();
if ( ! empty( $categories ) ) {
$output = null;
foreach( $categories as $category ) {
$output .= '<a class="'.$category->slug.'" href="' . esc_url( get_category_link( $category->term_id ) ) . '" >' . esc_html( $category->name ) . '</a>';
}
echo trim( $output);
}
} ?>
<h1 class="entry-title"><?php the_title(); ?></h1>
<?php if(($post->post_type == 'post' && is_single()) && $fullscreen_header == true ) { ?>
<div class="author-section">
<span class="meta-author">
<?php if (function_exists('get_avatar')) { echo get_avatar( get_the_author_meta('email'), 100 ); }?>
</span>
<div class="avatar-post-info vcard author">
<span class="fn"><?php the_author_posts_link(); ?></span>
<span class="meta-date date updated"><i><?php echo get_the_date(); ?></i></span>
</div>
</div>
<?php } ?>
<?php if($fullscreen_header != true) { ?>
<div id="single-below-header">
<span class="meta-author vcard author"><span class="fn"><?php echo __('By', 'salient'); ?> <?php the_author_posts_link(); ?></span></span><!--
--><span class="meta-date date updated"><?php echo get_the_date(); ?></span><!--
--><?php if($post_header_style != 'default_minimal') { ?> <span class="meta-category"><?php the_category(', '); ?></span> <?php } else { ?><!--
--><span class="meta-comment-count"><a href="<?php comments_link(); ?>"> <?php comments_number( __('No Comments', 'salient'), __('One Comment ', 'salient'), __('% Comments', 'salient') ); ?></a></span>
<?php } ?>
</div><!--/single-below-header-->
<?php } ?>
<?php if($fullscreen_header != true && $post_header_style != 'default_minimal') { ?>
<div id="single-meta" data-sharing="<?php echo ( !empty($options['blog_social']) && $options['blog_social'] == 1 ) ? '1' : '0'; ?>">
<ul>
<li class="meta-comment-count">
<a href="<?php comments_link(); ?>"><i class="icon-default-style steadysets-icon-chat"></i> <?php comments_number( __('No Comments', 'salient'), __('One Comment ', 'salient'), __('% Comments', 'salient') ); ?></a>
</li>
<li>
<?php echo '<span class="n-shortcode">'.nectar_love('return').'</span>'; ?>
</li>
<?php
$blog_social_style = (!empty($options['blog_social_style'])) ? $options['blog_social_style'] : 'default';
if( !empty($options['blog_social']) && $options['blog_social'] == 1 && $blog_social_style != 'fixed_bottom_right') {
echo '<li class="meta-share-count"><a href="#"><i class="icon-default-style steadysets-icon-share"></i><span class="share-count-total">0</span></a> <div class="nectar-social">';
//facebook
if(!empty($options['blog-facebook-sharing']) && $options['blog-facebook-sharing'] == 1) {
echo "<a class='facebook-share nectar-sharing' href='#' title='".__('Share this', 'salient')."'> <i class='fa fa-facebook'></i> <span class='count'></span></a>";
}
//twitter
if(!empty($options['blog-twitter-sharing']) && $options['blog-twitter-sharing'] == 1) {
echo "<a class='twitter-share nectar-sharing' href='#' title='".__('Tweet this', 'salient')."'> <i class='fa fa-twitter'></i> <span class='count'></span></a>";
}
//google plus
if(!empty($options['blog-google-plus-sharing']) && $options['blog-google-plus-sharing'] == 1) {
echo "<a class='google-plus-share nectar-sharing-alt' href='#' title='".__('Share this', 'salient')."'> <i class='fa fa-google-plus'></i> <span class='count'>0</span></a>";
}
//linkedIn
if(!empty($options['blog-linkedin-sharing']) && $options['blog-linkedin-sharing'] == 1) {
echo "<a class='linkedin-share nectar-sharing' href='#' title='".__('Share this', 'salient')."'> <i class='fa fa-linkedin'></i> <span class='count'> </span></a>";
}
//pinterest
if(!empty($options['blog-pinterest-sharing']) && $options['blog-pinterest-sharing'] == 1) {
echo "<a class='pinterest-share nectar-sharing' href='#' title='".__('Pin this', 'salient')."'> <i class='fa fa-pinterest'></i> <span class='count'></span></a>";
}
echo '</div></li>';
}
?>
</ul>
</div><!--/single-meta-->
<?php } //end if theme skin default ?>
</div>
</div><!--/section-title-->
</div><!--/row-->
<?php //default
} else if($bg_type != 'particle_bg') {
if(!empty($box_roll) && $box_roll == 'on') {
$alignment = (!empty($text_align)) ? $text_align : 'left';
$v_alignment = (!empty($text_align_v)) ? $text_align_v : 'middle';
echo '<div class="overlaid-content" data-text-effect="'.$text_effect.'" data-alignment="'.$alignment.'" data-alignment-v="'.$v_alignment.'"><div class="container">';
}
$empty_title_class = (empty($title) && empty($subtitle)) ? 'empty-title' : '';
?>
<div class="row">
<div class="col span_6 <?php echo $empty_title_class; ?>">
<div class="inner-wrap">
<?php if(!empty($title)) { ?><h1><?php echo $title; ?></h1> <?php } ?>
<span class="subheader"><?php echo $subtitle; ?></span>
</div>
<?php // portfolio filters
if( $page_template == 'template-portfolio.php' && $display_sortable == '1' && $inline_filters == '0') { ?>
<div class="<?php echo $filters_id;?>" instance="0">
<a href="#" data-sortable-label="<?php echo (!empty($options['portfolio-sortable-text'])) ? $options['portfolio-sortable-text'] :'Sort Portfolio'; ?>" id="sort-portfolio"><span><?php echo (!empty($options['portfolio-sortable-text'])) ? $options['portfolio-sortable-text'] : __('Sort Portfolio','salient'); ?></span> <i class="icon-angle-down"></i></a>
<ul>
<li><a href="#" data-filter="*"><?php echo __('All', 'salient'); ?></a></li>
<?php wp_list_categories(array('title_li' => '', 'taxonomy' => 'project-type', 'show_option_none' => '', 'walker' => new Walker_Portfolio_Filter())); ?>
</ul>
</div>
<?php } ?>
</div>
</div>
<?php if(!empty($box_roll) && $box_roll == 'on') echo '</div></div><!--/overlaid-content-->';
} ?>
<?php if($bg_type != 'particle_bg') { echo '</div>'; } //closing container
if(($post->ID != 0 && $post->post_type == 'post' && is_single()) && $fullscreen_header == true || $page_fullscreen_header == 'on') {
$rotate_in_class = ( $text_effect == 'rotate_in') ? 'hidden' : null;
$button_styling = (!empty($options['button-styling'])) ? $options['button-styling'] : 'default';
$header_down_arrow_style = (!empty($options['header-down-arrow-style'])) ? $options['header-down-arrow-style'] : 'default';
if($header_down_arrow_style == 'scroll-animation' || $button_styling == 'slightly_rounded' || $button_styling == 'slightly_rounded_shadow') {
echo '<div class="scroll-down-wrap no-border"><a href="#" class="section-down-arrow '.$rotate_in_class.'"><svg class="nectar-scroll-icon" viewBox="0 0 30 45" enable-background="new 0 0 30 45">
<path class="nectar-scroll-icon-path" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" d="M15,1.118c12.352,0,13.967,12.88,13.967,12.88v18.76 c0,0-1.514,11.204-13.967,11.204S0.931,32.966,0.931,32.966V14.05C0.931,14.05,2.648,1.118,15,1.118z"></path>
</svg></a></div>';
} else {
if($button_styling == 'default'){
echo '<div class="scroll-down-wrap"><a href="#" class="section-down-arrow '.$rotate_in_class.'"><i class="icon-salient-down-arrow icon-default-style"> </i></a></div>';
} else {
echo '<div class="scroll-down-wrap '.$rotate_in_class.'"><a href="#" class="section-down-arrow"><i class="fa fa-angle-down top"></i><i class="fa fa-angle-down"></i></a></div>';
}
}
}
//video bg
if($bg_type == 'video_bg') {
if ( floatval(get_bloginfo('version')) >= "3.6" ) {
//wp_enqueue_script('wp-mediaelement');
//wp_enqueue_style('wp-mediaelement');
} else {
//register media element for WordPress 3.5
wp_register_script('wp-mediaelement', get_template_directory_uri() . '/js/mediaelement-and-player.min.js', array('jquery'), '1.0', TRUE);
wp_register_style('wp-mediaelement', get_template_directory_uri() . '/css/mediaelementplayer.min.css');
wp_enqueue_script('wp-mediaelement');
wp_enqueue_style('wp-mediaelement');
}
//parse video image
if(strpos($video_image, "http://") !== false || strpos($video_image, "https://") !== false){
$video_image_src = $video_image;
} else {
$video_image_src = wp_get_attachment_image_src($video_image, 'full');
$video_image_src = $video_image_src[0];
}
//$poster_markup = (!empty($video_image)) ? 'poster="'.$video_image_src.'"' : null ;
$poster_markup = null;
$video_markup = null;
$video_markup .= '<div class="video-color-overlay" data-color="'.$bg_color.'"></div>';
$video_markup .= '
<div class="mobile-video-image" style="background-image: url('.$video_image_src.')"></div>
<div class="nectar-video-wrap" data-bg-alignment="'.$bg_position.'">
<video class="nectar-video-bg" width="1800" height="700" '.$poster_markup.' preload="auto" loop autoplay muted playsinline>';
if(!empty($video_webm)) { $video_markup .= '<source type="video/webm" src="'.$video_webm.'">'; }
if(!empty($video_mp4)) { $video_markup .= '<source type="video/mp4" src="'.$video_mp4.'">'; }
if(!empty($video_ogv)) { $video_markup .= '<source type="video/ogg" src="'. $video_ogv.'">'; }
$video_markup .='</video>
</div>';
echo $video_markup;
}
//particle bg
if($bg_type == 'particle_bg') {
wp_enqueue_script('nectarParticles');
echo '<div class=" nectar-particles" data-disable-explosion="'.$disable_explosion.'" data-rotation-timing="'.$rotate_timing.'"><div class="canvas-bg"><canvas id="canvas" data-active-index="0"></canvas></div>';
$images = explode( ',', $shapes);
$i = 0;
if(!empty($shapes)) {
if(!empty($box_roll) && $box_roll == 'on') {
$alignment = (!empty($text_align)) ? $text_align : 'left';
$v_alignment = (!empty($text_align_v)) ? $text_align_v : 'middle';
echo '<div class="overlaid-content" data-text-effect="'.$text_effect.'" data-alignment="'.$alignment.'" data-alignment-v="'.$v_alignment.'">';
}
echo '<div class="container"><div class="row"><div class="col span_6" >';
foreach ( $images as $attach_id ) {
$i++;
$img = wp_get_attachment_image_src( $attach_id, 'full' );
$attachment = get_post( $attach_id );
$shape_meta = array(
'caption' => $attachment->post_excerpt,
'title' => $attachment->post_title,
'bg_color' => get_post_meta( $attachment->ID, 'nectar_particle_shape_bg_color', true ),
'color' => get_post_meta( $attachment->ID, 'nectar_particle_shape_color', true ),
'color_mapping' => get_post_meta( $attachment->ID, 'nectar_particle_shape_color_mapping', true ),
'alpha' => get_post_meta( $attachment->ID, 'nectar_particle_shape_color_alpha', true ),
'density' => get_post_meta( $attachment->ID, 'nectar_particle_shape_density', true ),
'max_particle_size' => get_post_meta( $attachment->ID, 'nectar_particle_max_particle_size', true )
);
if(!empty($shape_meta['density'])) {
switch($shape_meta['density']) {
case 'very_low':
$shape_meta['density'] = '19';
break;
case 'low':
$shape_meta['density'] = '16';
break;
case 'medium':
$shape_meta['density'] = '13';
break;
case 'high':
$shape_meta['density'] = '10';
break;
case 'very_high':
$shape_meta['density'] = '8';
break;
}
}
if(!empty($shape_meta['color']) && $shape_meta['color'] == '#fff' || !empty($shape_meta['color']) && $shape_meta['color'] == '#ffffff') $shape_meta['color'] = '#fefefe';
//data for particle shape
echo '<div class="shape" data-src="'. nectar_ssl_check($img[0]) .'" data-max-size="'.$shape_meta['max_particle_size'].'" data-alpha="'.$shape_meta['alpha'].'" data-density="'.$shape_meta['density'].'" data-color-mapping="'.$shape_meta['color_mapping'].'" data-color="'.$shape_meta['color'].'" data-bg-color="'.$shape_meta['bg_color'].'"></div>';
//overlaid content
echo '<div class="inner-wrap shape-'.$i.'">';
echo '<h1>'.$shape_meta["title"].'</h1> <span class="subheader">'.$shape_meta["caption"].'</span>';
echo '</div>';
} ?>
</div></div></div>
<div class="pagination-navigation">
<div class="pagination-current"></div>
<div class="pagination-dots">
<?php foreach ( $images as $attach_id ) {
echo '<button class="pagination-dot"></button>';
} ?>
</div>
</div>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="690">
<defs>
<filter id="goo">
<feGaussianBlur in="SourceGraphic" stdDeviation="10" result="blur"></feGaussianBlur>
<feColorMatrix in="blur" mode="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 69 -16" result="goo"></feColorMatrix>
<feComposite in="SourceGraphic" in2="goo" operator="atop"></feComposite>
</filter>
</defs>
</svg>
<?php if(!empty($box_roll) && $box_roll == 'on') echo '</div><!--/overlaid-content-->'; ?>
</div> <!--/nectar particles-->
<?php }
} //particle bg ?>
</div>
<?php
echo '</div>';
} else if( !empty($title) && !is_archive()) { ?>
<div class="row page-header-no-bg" data-alignment="<?php echo (!empty($text_align)) ? $text_align : 'left' ; ?>">
<div class="container">
<div class="col span_12 section-title">
<h1><?php echo $title; ?><?php if(!empty($subtitle)) echo '<span>' . $subtitle . '</span>'; ?></h1>
<?php // portfolio filters
if( $page_template == 'template-portfolio.php' && $display_sortable == '1' && $inline_filters == '0') { ?>
<div class="<?php echo $filters_id;?>" instance="0">
<a href="#" data-sortable-label="<?php echo (!empty($options['portfolio-sortable-text'])) ? $options['portfolio-sortable-text'] :'Sort Portfolio'; ?>" id="sort-portfolio"><span><?php echo (!empty($options['portfolio-sortable-text'])) ? $options['portfolio-sortable-text'] : __('Sort Portfolio','salient'); ?></span> <i class="icon-angle-down"></i></a>
<ul>
<li><a href="#" data-filter="*"><?php echo __('All', 'salient'); ?></a></li>
<?php wp_list_categories(array('title_li' => '', 'taxonomy' => 'project-type', 'show_option_none' => '', 'walker' => new Walker_Portfolio_Filter())); ?>
</ul>
</div>
<?php } ?>
</div>
</div>
</div>
<?php } else if(is_category() || is_tag() || is_date() || is_author() ) {
/*blog archives*/
$archive_bg_img = (isset($options['blog_archive_bg_image'])) ? nectar_options_img($options['blog_archive_bg_image']) : null;
$t_id = get_cat_ID( single_cat_title( '', false ) ) ;
$terms = get_option( "taxonomy_$t_id" );
$heading = null;
$subtitle = null;
if(is_author()){
$heading = get_the_author();
$subtitle = __('All Posts By', 'salient' );
} else if(is_category()) {
$heading = single_cat_title( '', false );
$subtitle = __('Category', 'salient' );
} else if(is_tag()) {
$heading = wp_title("",false);
$subtitle = __('Tag', 'salient' );
} else if(is_date()){
if ( is_day() ) :
$heading = get_the_date();
$subtitle = __('Daily Archives', 'salient' );
elseif ( is_month() ) :
$heading = get_the_date( _x( 'F Y', 'monthly archives date format', 'salient' ) );
$subtitle = __('Monthly Archives', 'salient' );
elseif ( is_year() ) :
$heading = get_the_date( _x( 'Y', 'yearly archives date format', 'salient' ) );
$subtitle = __('Yearly Archives', 'salient' );
else :
$heading = __( 'Archives', 'salient' );
endif;
} else {
$heading = wp_title("",false);
} ?>
<?php
//category archive text align
$blog_type = $options['blog_type'];
if($blog_type == null) $blog_type = 'std-blog-sidebar';
$blog_standard_type = (!empty($options['blog_standard_type'])) ? $options['blog_standard_type'] : 'classic';
$archive_header_text_align = ($blog_type != 'masonry-blog-sidebar' && $blog_type != 'masonry-blog-fullwidth' && $blog_type != 'masonry-blog-full-screen-width' && $blog_standard_type == 'minimal') ? 'center' : 'left';
if(!empty($terms['category_image']) || !empty($archive_bg_img)) {
$bg_img = $archive_bg_img;
if(!empty($terms['category_image'])) $bg_img = $terms['category_image'];
if($animate_in_effect == 'slide-down') {
$wrapper_height_style = null;
} else {
$wrapper_height_style = 'style="height: 350px;"';
}
?>
<div id="page-header-wrap" data-midnight="light" <?php echo $wrapper_height_style; ?>>
<div id="page-header-bg" data-animate-in-effect="<?php echo $animate_in_effect; ?>" id="page-header-bg" data-text-effect="" data-bg-pos="center" data-alignment="<?php echo $archive_header_text_align; ?>" data-alignment-v="middle" data-parallax="0" data-height="350" style="height: 350px;">
<div class="page-header-bg-image" style="background-image: url(<?php echo $bg_img; ?>);"></div>
<div class="container">
<div class="row">
<div class="col span_6">
<div class="inner-wrap">
<span class="subheader"><?php echo $subtitle; ?></span>
<h1><?php echo $heading; ?></h1>
</div>
</div>
</div>
</div>
</div>
</div>
<?php } else { ?>
<div class="row page-header-no-bg" data-alignment="<?php echo (!empty($text_align)) ? $text_align : 'left' ; ?>">
<div class="container">
<div class="col span_12 section-title">
<span class="subheader"><?php echo $subtitle; ?></span>
<h1><?php echo $heading; ?></h1>
</div>
</div>
</div>
<?php }
}
}
}
function using_page_header($post_id){
global $post;
global $woocommerce;
global $options;
$force_effect = null;
if($woocommerce && is_shop() || $woocommerce && is_product_category() || $woocommerce && is_product_tag()) {
if( version_compare( $woocommerce->version, "3.0", ">=" ) ) {
$header_title = get_post_meta(wc_get_page_id('shop'), '_nectar_header_title', true);
$header_bg = get_post_meta(wc_get_page_id('shop'), '_nectar_header_bg', true);
$header_bg_color = get_post_meta(wc_get_page_id('shop'), '_nectar_header_bg_color', true);
$bg_type = get_post_meta(wc_get_page_id('shop'), '_nectar_slider_bg_type', true);
if(empty($bg_type)) $bg_type = 'image_bg';
$disable_effect = get_post_meta(wc_get_page_id('shop'), '_disable_transparent_header', true);
$force_effect = null;
} else {
$header_title = get_post_meta(woocommerce_get_page_id('shop'), '_nectar_header_title', true);
$header_bg = get_post_meta(woocommerce_get_page_id('shop'), '_nectar_header_bg', true);
$header_bg_color = get_post_meta(woocommerce_get_page_id('shop'), '_nectar_header_bg_color', true);
$bg_type = get_post_meta(woocommerce_get_page_id('shop'), '_nectar_slider_bg_type', true);
if(empty($bg_type)) $bg_type = 'image_bg';
$disable_effect = get_post_meta(woocommerce_get_page_id('shop'), '_disable_transparent_header', true);
$force_effect = null;
}
}
else if(is_home()){
$header_title = get_post_meta(get_option('page_for_posts'), '_nectar_header_title', true);
$header_bg = get_post_meta(get_option('page_for_posts'), '_nectar_header_bg', true);
$header_bg_color = get_post_meta(get_option('page_for_posts'), '_nectar_header_bg_color', true);
$bg_type = get_post_meta(get_option('page_for_posts'), '_nectar_slider_bg_type', true);
if(empty($bg_type)) $bg_type = 'image_bg';
$disable_effect = get_post_meta(get_option('page_for_posts'), '_disable_transparent_header', true);
$force_effect = null;
}
else if(!is_category() && !is_tag() && !is_date() & !is_author()) {
$header_title = get_post_meta($post->ID, '_nectar_header_title', true);
$header_bg = get_post_meta($post->ID, '_nectar_header_bg', true);
$header_bg_color = get_post_meta($post->ID, '_nectar_header_bg_color', true);
$bg_type = get_post_meta($post->ID, '_nectar_slider_bg_type', true);
if(empty($bg_type)) $bg_type = 'image_bg';
$disable_effect = get_post_meta($post->ID, '_disable_transparent_header', true);
$force_effect = get_post_meta($post->ID, '_force_transparent_header', true);
}
//blog archives
if(is_category() || is_tag() || is_date() || is_author()){
$bg_type = null;
$disable_effect = null;
$archive_bg_img = ( isset($options['blog_archive_bg_image']['id']) && !empty($options['blog_archive_bg_image']['id']) ) ? nectar_options_img($options['blog_archive_bg_image']) : null;
$t_id = get_cat_ID( single_cat_title( '', false ) ) ;
$terms = get_option( "taxonomy_$t_id" );
if(!empty($archive_bg_img) || !empty($terms['category_image'])) {
$force_effect = 'on';
$bg_type = 'image_bg';
}
}
$pattern = get_shortcode_regex();
$using_applicable_shortcode = 0;
if ( preg_match_all( '/'. $pattern .'/s', $post->post_content, $matches ) && array_key_exists( 0, $matches )) {
if($matches[0][0]){
if( strpos($matches[0][0],'nectar_slider') !== false && strpos($matches[0][0],'full_width="true"') !== false) {
if(empty($header_title)) $using_applicable_shortcode = 1;
} else {
$using_applicable_shortcode = 0;
}
}
}
//stop effect from WooCommerce single pages
global $woocommerce;
if($woocommerce && is_product()) { $using_applicable_shortcode = 0; $header_bg = 0; $header_bg_color = 0; }
//alternate header style
global $options;
if(!empty($options['blog_header_type']) && $options['blog_header_type'] == 'fullscreen' && is_singular('post')) { $using_applicable_shortcode = 1; }
//incase of search / tax / removing effect
if(is_search() || $disable_effect == 'on') { $using_applicable_shortcode = 0; $header_bg = 0; $header_bg_color = 0; $bg_type = 'image_bg'; }
$page_full_screen_rows = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows', true) : '';
//if forcing effect
if($force_effect == 'on' && (!is_search() && !is_tax()) || $page_full_screen_rows == 'on' && (!is_search() && !is_tax()) ) { $using_applicable_shortcode = 1; }
$the_verdict = (!empty($header_bg_color) || !empty($header_bg) || $bg_type == 'video_bg' || $bg_type == 'particle_bg' || $using_applicable_shortcode) ? true : false;
//verify its not a portfolio archive
if( is_tax('project-type') || is_tax('project-attributes') || is_404() ) { $the_verdict = false; }
return $the_verdict;
}
function using_nectar_slider(){
global $post;
global $woocommerce;
if($woocommerce && is_shop() || $woocommerce && is_product_category() || $woocommerce && is_product_tag()) {
if( version_compare( $woocommerce->version, "3.0", ">=" ) ) {
$header_title = get_post_meta(wc_get_page_id('shop'), '_nectar_header_title', true);
$header_bg = get_post_meta(wc_get_page_id('shop'), '_nectar_header_bg', true);
$header_bg_color = get_post_meta(wc_get_page_id('shop'), '_nectar_header_bg_color', true);
} else {
$header_title = get_post_meta(woocommerce_get_page_id('shop'), '_nectar_header_title', true);
$header_bg = get_post_meta(woocommerce_get_page_id('shop'), '_nectar_header_bg', true);
$header_bg_color = get_post_meta(woocommerce_get_page_id('shop'), '_nectar_header_bg_color', true);
}
}
else if(is_home() || is_archive()){
$header_title = get_post_meta(get_option('page_for_posts'), '_nectar_header_title', true);
$header_bg = get_post_meta(get_option('page_for_posts'), '_nectar_header_bg', true);
$header_bg_color = get_post_meta(get_option('page_for_posts'), '_nectar_header_bg_color', true);
} else {
$header_title = get_post_meta($post->ID, '_nectar_header_title', true);
$header_bg = get_post_meta($post->ID, '_nectar_header_bg', true);
$header_bg_color = get_post_meta($post->ID, '_nectar_header_bg_color', true);
}
$pattern = get_shortcode_regex();
$using_fullwidth_slider = 0;
if ( preg_match_all( '/'. $pattern .'/s', $post->post_content, $matches ) && array_key_exists( 0, $matches )) {
if($matches[0][0]){
if( strpos($matches[0][0],'nectar_slider') !== false && strpos($matches[0][0],'full_width="true"') !== false
|| strpos($matches[0][0],' type="full_width_content"') !== false && strpos($matches[0][0],'nectar_slider') !== false && strpos($matches[0][0],'[vc_column width="1/1"') !== false ) {
$using_fullwidth_slider = 1;
} else {
$using_fullwidth_slider = 0;
}
}
}
//incase of search
if(is_search() || is_tax()) $using_fullwidth_slider = 0;
//stop effect from WooCommerce single pages
global $woocommerce;
if($woocommerce && is_product()) $using_fullwidth_slider = 0;
$the_verdict = (empty($header_title) && empty($header_bg) && empty($header_bg_color) && $using_fullwidth_slider) ? true : false;
return $the_verdict;
}
function nectar_header_section_check($post_id){
global $post;
global $woocommerce;
global $options;
if($woocommerce && is_shop() || $woocommerce && is_product_category() || $woocommerce && is_product_tag()) {
return false;
}
$header_bg = '';
$header_bg_color = '';
$bg_type = '';
$page_full_screen_rows = (isset($post->ID)) ? get_post_meta($post->ID, '_nectar_full_screen_rows', true) : '';
if(!is_category() && !is_tag() && !is_date() & !is_author()) {
$header_bg = get_post_meta($post->ID, '_nectar_header_bg', true);
$header_bg_color = get_post_meta($post->ID, '_nectar_header_bg_color', true);
$bg_type = get_post_meta($post->ID, '_nectar_slider_bg_type', true);
if(empty($bg_type)) $bg_type = 'image_bg';
}
$header_auto_title = (!empty($options['header-auto-title']) && $options['header-auto-title'] == '1') ? true : false;
$the_verdict = (!empty($header_bg_color) || !empty($header_bg) || $bg_type == 'video_bg' || $bg_type == 'particle_bg' || $page_full_screen_rows == 'on' || ($header_auto_title && is_page()) ) ? true : false;
//verify its not a portfolio or other non applicable archive
if( is_tax('project-type') || is_tax('project-attributes') || is_404() || is_search()) { $the_verdict = false; }
return $the_verdict;
}
#-----------------------------------------------------------------#
# Pagination
#-----------------------------------------------------------------#
if ( !function_exists( 'nectar_pagination' ) ) {
function nectar_pagination() {
global $options;
//extra pagination
if( !empty($options['extra_pagination']) && $options['extra_pagination'] == '1' ){
global $wp_query, $wp_rewrite;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
$total_pages = $wp_query->max_num_pages;
if ($total_pages > 1){
$permalink_structure = get_option('permalink_structure');
$query_type = (count($_GET)) ? '&' : '?';
$format = empty( $permalink_structure ) ? $query_type.'paged=%#%' : 'page/%#%/';
echo '<div id="pagination" data-is-text="'.__("All items loaded", 'salient').'">';
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => $format,
'current' => $current,
'total' => $total_pages,
'prev_text' => __('Previous','salient'),
'next_text' => __('Next','salient')
));
echo '</div>';
}
}
//regular pagination
else{
if( get_next_posts_link() || get_previous_posts_link() ) {
echo '<div id="pagination" data-is-text="'.__("All items loaded", 'salient').'">
<div class="prev">'.get_previous_posts_link('« Previous').'</div>
<div class="next">'.get_next_posts_link('NextPrevious »','').'</div>
</div>';
}
}
}
}
#-----------------------------------------------------------------#
# Woocommerce
#-----------------------------------------------------------------#
global $woocommerce;
/* admin notice for left over uneeded template files */
if($woocommerce && is_admin() && file_exists( dirname( __FILE__ ) . '/woocommerce/cart/cart.php' ) ) {
include('nectar/woo/admin-notices.php');
}
$main_shop_layout = (!empty($options['main_shop_layout'])) ? $options['main_shop_layout'] : 'no-sidebar';
$single_product_layout = (!empty($options['single_product_layout'])) ? $options['single_product_layout'] : 'no-sidebar';
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10);
remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10);
//needed to let WooCommerce know Salient has theme options for columns
if(function_exists('is_customize_preview')) {
if($woocommerce && is_customize_preview()) {
add_filter('loop_shop_columns', 'nectar_shop_loop_columns');
}
}
function nectar_shop_wrapper_start() {
echo '<div class="container-wrap" data-midnight="dark"><div class="container main-content"><div class="row"><div class="nectar-shop-header">';
do_action( 'nectar_shop_header_markup' );
echo '</div>';
}
function nectar_shop_wrapper_end() {
echo '</div></div></div>';
do_action( 'nectar_shop_fixed_social' );
}
function nectar_shop_wrapper_start_sidebar_left() {
echo '<div class="container-wrap" data-midnight="dark"><div class="container main-content"><div class="nectar-shop-header">';
do_action( 'nectar_shop_header_markup' );
echo '</div><div class="row"><div id="sidebar" class="col span_3 col">';
if ( function_exists('dynamic_sidebar')) {
dynamic_sidebar('woocommerce-sidebar');
}
echo '</div><div class="post-area col span_9 col_last">';
}
function nectar_shop_wrapper_end_sidebar_left() {
echo '</div></div></div></div>';
do_action( 'nectar_shop_fixed_social' );
}
function nectar_shop_wrapper_start_sidebar_right() {
echo '<div class="container-wrap" data-midnight="dark"><div class="container main-content"><div class="nectar-shop-header">';
do_action( 'nectar_shop_header_markup' );
echo '</div><div class="row"><div class="post-area col span_9">';
}
function nectar_shop_wrapper_end_sidebar_right() {
echo '</div><div id="sidebar" class="col span_3 col_last">';
if ( function_exists('dynamic_sidebar')) {
dynamic_sidebar('woocommerce-sidebar');
}
echo '</div></div></div></div>';
do_action( 'nectar_shop_fixed_social' );
}
function nectar_shop_wrapper_start_fullwidth() {
echo '<div class="container-wrap" data-midnight="dark"><div class="container main-content"><div class="row"><div class="full-width-content nectar-shop-outer"><div class="nectar-shop-header">';
do_action( 'nectar_shop_header_markup' );
echo '</div>';
}
function nectar_shop_wrapper_end_fullwidth() {
echo '</div></div></div></div>';
}
if (!function_exists('nectar_shop_loop_columns')) {
function nectar_shop_loop_columns() {
return 3; // 3 products per row
}
}
if (!function_exists('nectar_shop_loop_columns_std')) {
function nectar_shop_loop_columns_std() {
return 4; // 3 products per row
}
}
//change header
remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 );
remove_action('woocommerce_before_shop_loop', 'woocommerce_catalog_ordering',30);
add_filter( 'woocommerce_show_page_title', '__return_false' );
add_filter( 'woocommerce_breadcrumb_defaults', 'nectar_change_breadcrumb_delimiter' );
function nectar_change_breadcrumb_delimiter( $defaults ) {
$defaults['delimiter'] = ' <i class="fa fa-angle-right"></i> ';
return $defaults;
}
$nectar_quick_view_in_use = 'false';
if($woocommerce) {
add_action( 'wp', 'nectar_woo_shop_markup' );
//alter gallery thumbnail width
add_action( 'after_setup_theme', 'nectar_custom_gallery_thumb_woocommerce_theme_support' );
function nectar_custom_gallery_thumb_woocommerce_theme_support(){
add_theme_support( 'woocommerce', array(
'gallery_thumbnail_image_width' => 150,
) );
}
//quickview
$nectar_quick_view = (!empty($options['product_quick_view']) && $options['product_quick_view'] == '1') ? true : false;
if($nectar_quick_view) {
$nectar_quick_view_in_use = 'true';
require_once ( 'nectar/woo/quick-view.php' );
}
}
function nectar_woo_shop_markup() {
global $single_product_layout;
global $main_shop_layout;
global $woocommerce;
if($woocommerce && !is_product()) {
remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);
}
//page header
if(is_shop() || is_product_category() || is_product_tag() || is_product_taxonomy() ) {
add_action('woocommerce_before_main_content', 'salient_shop_header', 10);
function salient_shop_header() {
global $woocommerce;
//page header for main shop page
if( $woocommerce && version_compare( $woocommerce->version, "3.0", ">=" ) ) {
nectar_page_header(wc_get_page_id('shop'));
} else {
nectar_page_header(woocommerce_get_page_id('shop'));
}
}
function salient_woo_shop_title() {
echo '<h1 class="page-title">';
woocommerce_page_title();
echo '</h1>';
}
if( $woocommerce && version_compare( $woocommerce->version, "3.0", ">=" ) ) {
$header_title = get_post_meta(wc_get_page_id('shop'), '_nectar_header_title', true);
$header_bg_color = get_post_meta(wc_get_page_id('shop'), '_nectar_header_bg_color', true);
$header_bg_image = get_post_meta(wc_get_page_id('shop'), '_nectar_header_bg', true);
} else {
$header_title = get_post_meta(woocommerce_get_page_id('shop'), '_nectar_header_title', true);
$header_bg_color = get_post_meta(woocommerce_get_page_id('shop'), '_nectar_header_bg_color', true);
$header_bg_image = get_post_meta(woocommerce_get_page_id('shop'), '_nectar_header_bg', true);
}
if(is_shop()) {
if(empty($header_bg_color) && empty($header_bg_image)) {
add_action('nectar_shop_header_markup','salient_woo_shop_title',10);
}
}
else if( is_product_category() ) {
$cate = get_queried_object();
$t_id = (property_exists($cate, 'term_id')) ? $cate->term_id : '';
$product_terms = get_option( "taxonomy_$t_id" );
$using_cat_bg = (!empty($product_terms['product_category_image'])) ? true : false;
if(empty($header_bg_color) && empty($header_bg_image) && !$using_cat_bg) {
add_action('nectar_shop_header_markup','salient_woo_shop_title',10);
}
}
else if( is_product_tag() || is_product_taxonomy() ) {
if(empty($header_bg_color) && empty($header_bg_image)) {
add_action('nectar_shop_header_markup','salient_woo_shop_title',10);
}
}
//if(function_exists('wc_setup_loop')) {
// add_action('nectar_shop_header_markup', 'wc_setup_loop' );
//}
add_action('nectar_shop_header_markup', 'woocommerce_catalog_ordering', 10);
add_action('nectar_shop_header_markup', 'woocommerce_result_count', 10);
add_action('nectar_shop_header_markup', 'woocommerce_breadcrumb', 10);
}
//no sidebar shop single
if (is_product() && $single_product_layout != 'right-sidebar' && is_product() && $single_product_layout != 'left-sidebar') {
remove_action('woocommerce_sidebar','woocommerce_get_sidebar',10);
add_action('woocommerce_before_main_content', 'nectar_shop_wrapper_start', 10);
add_action('woocommerce_after_main_content', 'nectar_shop_wrapper_end', 10);
add_filter('loop_shop_columns', 'nectar_shop_loop_columns_std');
}
//no sidebar shop
if(is_shop() || is_product_category() || is_product_tag() || is_product_taxonomy() ) {
if($main_shop_layout != 'right-sidebar' && $main_shop_layout != 'left-sidebar' && $main_shop_layout != 'fullwidth') {
remove_action('woocommerce_sidebar','woocommerce_get_sidebar',10);
add_action('woocommerce_before_main_content', 'nectar_shop_wrapper_start', 10);
add_action('woocommerce_after_main_content', 'nectar_shop_wrapper_end', 10);
add_filter('loop_shop_columns', 'nectar_shop_loop_columns_std');
}
if($main_shop_layout == 'fullwidth') {
add_filter('loop_shop_columns', 'nectar_shop_loop_columns_std');
}
}
//using sidebar
if(is_shop() || is_product_category() || is_product_tag() || is_product() || is_product_taxonomy() ) {
$nectar_shop_layout = (is_product()) ? $single_product_layout : $main_shop_layout;
if($nectar_shop_layout == 'right-sidebar') {
remove_action('woocommerce_sidebar','woocommerce_get_sidebar',10);
add_action('woocommerce_before_main_content', 'nectar_shop_wrapper_start_sidebar_right', 10);
add_action('woocommerce_after_main_content', 'nectar_shop_wrapper_end_sidebar_right', 10);
add_filter('loop_shop_columns', 'nectar_shop_loop_columns');
} else if($nectar_shop_layout == 'left-sidebar') {
remove_action('woocommerce_sidebar','woocommerce_get_sidebar',10);
add_action('woocommerce_before_main_content', 'nectar_shop_wrapper_start_sidebar_left', 10);
add_action('woocommerce_after_main_content', 'nectar_shop_wrapper_end_sidebar_left', 10);
add_filter('loop_shop_columns', 'nectar_shop_loop_columns');
}
else if($nectar_shop_layout == 'fullwidth') {
remove_action('woocommerce_sidebar','woocommerce_get_sidebar',10);
add_action('woocommerce_before_main_content', 'nectar_shop_wrapper_start_fullwidth', 10);
add_action('woocommerce_after_main_content', 'nectar_shop_wrapper_end_fullwidth', 10);
}
}
}
/*
remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10);
remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10);
add_action('woocommerce_before_main_content', 'salient_theme_wrapper_start', 10);
add_action('woocommerce_after_main_content', 'salient_theme_wrapper_end', 10);
function salient_theme_wrapper_start() {
echo '<div class="container main-content">';
}
function salient_theme_wrapper_end() {
echo '</div>';
}*/
add_theme_support( 'woocommerce' );
/* custom gallery thumb size */
if($woocommerce) {
add_filter( 'woocommerce_gallery_thumbnail_size', 'nectar_woocommerce_gallery_thumbnail_size' );
}
function nectar_woocommerce_gallery_thumbnail_size() {
return 'nectar_small_square';
}
//remove parentheses in counts
function nectar_remove_categories_count ($variable) {
$variable = str_replace('(', '<span class="post_count"> ', $variable);
$variable = str_replace(')', ' </span>', $variable);
return $variable;
}
if($woocommerce) {
add_filter('wp_list_categories','nectar_remove_categories_count');
add_filter('woocommerce_layered_nav_count','nectar_remove_categories_count');
}
add_filter( 'woocommerce_pagination_args' , 'nectar_override_pagination_args' );
function nectar_override_pagination_args( $args ) {
$args['prev_text'] = __( 'Previous', 'salient' );
$args['next_text'] = __( 'Next', 'salient' );
return $args;
}
if( $woocommerce && version_compare( $woocommerce->version, "3.0", ">=" ) ) {
add_filter('woocommerce_add_to_cart_fragments', 'add_to_cart_fragment');
} else {
add_filter('add_to_cart_fragments', 'add_to_cart_fragment');
}
// update the cart with ajax
function add_to_cart_fragment( $fragments ) {
global $woocommerce;
ob_start();
$fragments['a.cart-parent'] = ob_get_clean();
return $fragments;
}
//remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cart_totals', 10 );
//change summary html markup to fit responsive
add_action( 'woocommerce_before_single_product_summary', 'summary_div', 35);
add_action( 'woocommerce_after_single_product_summary', 'close_div', 4);
function summary_div() {
echo "<div class='span_7 col col_last single-product-summary'>";
}
function close_div() {
echo "</div>";
}
//change tab position to be inside summary
if(empty($options['product_tab_position']) || $options['product_tab_position'] == 'in_sidebar') {
remove_action('woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10);
add_action('woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 1);
}
//wrap single product image in an extra div
add_action( 'woocommerce_before_single_product_summary', 'images_div', 8);
add_action( 'woocommerce_before_single_product_summary', 'close_div', 29);
function images_div()
{
echo "<div class='span_5 col single-product-main-image'>";
}
// display upsells and related products within dedicated div with different column and number of products
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products',20);
remove_action( 'woocommerce_after_single_product', 'woocommerce_output_related_products',10);
add_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20);
function woocommerce_output_related_products() {
$output = null;
ob_start();
woocommerce_related_products(array('columns' => 4, 'posts_per_page' => 4));
$content = ob_get_clean();
if($content) { $output .= $content; }
echo '<div class="clear"></div>' . $output;
}
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15 );
remove_action( 'woocommerce_after_single_product', 'woocommerce_upsell_display',10);
add_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_upsells', 21);
function woocommerce_output_upsells() {
$output = null;
ob_start();
woocommerce_upsell_display(4,4);
$content = ob_get_clean();
if($content) { $output .= $content; }
echo $output;
}
if( $woocommerce && version_compare( $woocommerce->version, "3.0", ">=" ) ) {
add_filter('woocommerce_add_to_cart_fragments', 'woocommerce_header_add_to_cart_fragment');
if($nectar_theme_skin == 'material') {
add_filter('woocommerce_add_to_cart_fragments', 'mobile_woocommerce_header_add_to_cart_fragment');
}
} else {
add_filter('add_to_cart_fragments', 'woocommerce_header_add_to_cart_fragment');
}
function woocommerce_header_add_to_cart_fragment( $fragments ) {
global $woocommerce;
ob_start(); ?>
<a class="cart-contents" href="<?php echo wc_get_cart_url(); ?>"><div class="cart-icon-wrap"><i class="icon-salient-cart"></i> <div class="cart-wrap"><span><?php echo $woocommerce->cart->cart_contents_count; ?> </span></div> </div></a>
<?php
$fragments['a.cart-contents'] = ob_get_clean();
return $fragments;
}
function mobile_woocommerce_header_add_to_cart_fragment( $fragments ) {
global $woocommerce;
ob_start(); ?>
<a id="mobile-cart-link" href="<?php echo wc_get_cart_url(); ?>"><i class="icon-salient-cart"></i><div class="cart-wrap"><span><?php echo $woocommerce->cart->cart_contents_count; ?> </span></div></a>
<?php
$fragments['a#mobile-cart-link'] = ob_get_clean();
return $fragments;
}
//change how many products are displayed per page
global $options;
$product_hover_alt_image = ( !empty($options['product_hover_alt_image']) ) ? $options['product_hover_alt_image'] : 'off';
$nectar_woo_products_per_page = ( !empty($options['woo-products-per-page']) ) ? $options['woo-products-per-page'] : '12';
add_filter( 'loop_shop_per_page', function($cols){ global $nectar_woo_products_per_page; return $nectar_woo_products_per_page; }, 20 );
//change the position of add to cart
remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10);
remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10 );
$product_style = (!empty($options['product_style'])) ? $options['product_style'] : 'classic';
if( $product_style == 'classic'){
add_action('woocommerce_before_shop_loop_item_title', 'product_thumbnail_with_cart', 10 );
} else if($product_style == 'text_on_hover') {
add_action('woocommerce_before_shop_loop_item_title', 'product_thumbnail_with_cart_alt', 10 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_rating', 5 );
add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 5 );
add_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_rating', 10 );
} else if($product_style == 'material') {
add_action('woocommerce_before_shop_loop_item_title', 'product_thumbnail_material', 10 );
remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_product_link_close', 5 );
} else {
add_action('woocommerce_before_shop_loop_item_title', 'product_thumbnail_minimal', 10 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
add_action('nectar_woo_minimal_price', 'woocommerce_template_loop_price', 5 );
remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 );
remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_product_link_close', 5 );
}
/*add 3.0 gallery support when using default lightbox option in theme*/
$nectar_product_gal_type = ( !empty($options['single_product_gallery_type']) ) ? $options['single_product_gallery_type'] : 'default';
if($nectar_product_gal_type != 'ios_slider') {
add_theme_support( 'wc-product-gallery-zoom' );
add_theme_support( 'wc-product-gallery-lightbox' );
add_theme_support( 'wc-product-gallery-slider' );
} else {
add_theme_support( 'wc-product-gallery-zoom' );
add_theme_support( 'wc-product-gallery-lightbox' );
}
if (!function_exists('product_thumbnail_with_cart')) {
function product_thumbnail_with_cart() {
global $product;
global $woocommerce;
global $product_hover_alt_image;
global $nectar_quick_view_in_use; ?>
<div class="product-wrap">
<a href="<?php the_permalink(); ?>"> <?php
$product_second_image = null;
if($product_hover_alt_image == '1') {
if( $woocommerce && version_compare( $woocommerce->version, "3.0", ">=" ) ) {
$product_attach_ids = $product->get_gallery_image_ids();
} else {
$product_attach_ids = $product->get_gallery_attachment_ids();
}
if ( isset($product_attach_ids[0]) )
$product_second_image = wp_get_attachment_image($product_attach_ids[0], 'shop_catalog', false, array( 'class' => 'hover-gallery-image' ));
}
echo woocommerce_get_product_thumbnail() . $product_second_image; ?> </a>
<?php
echo '<div class="product-add-to-cart" data-nectar-quickview="'. $nectar_quick_view_in_use .'">';
woocommerce_template_loop_add_to_cart();
do_action( 'nectar_woocommerce_before_add_to_cart' );
echo '</div>'; ?>
</div>
<?php
}
}
if (!function_exists('product_thumbnail_material')) {
function product_thumbnail_material() {
global $product;
global $woocommerce;
global $product_hover_alt_image;
global $nectar_quick_view_in_use; ?>
<div class="product-wrap">
<?php
$product_second_image = null;
if($product_hover_alt_image == '1') {
if( $woocommerce && version_compare( $woocommerce->version, "3.0", ">=" ) ) {
$product_attach_ids = $product->get_gallery_image_ids();
} else {
$product_attach_ids = $product->get_gallery_attachment_ids();
}
if ( isset($product_attach_ids[0]) )
$product_second_image = wp_get_attachment_image($product_attach_ids[0], 'shop_catalog', false, array( 'class' => 'hover-gallery-image' ));
}
echo '<a href="'.get_permalink().'">';
echo woocommerce_get_product_thumbnail() . $product_second_image;
echo '</a>';
echo '<div class="product-meta">';
echo '<a href="'.get_permalink().'">';
do_action( 'woocommerce_shop_loop_item_title' );
echo '</a>';
do_action( 'woocommerce_after_shop_loop_item_title' );
echo '<div class="product-add-to-cart" data-nectar-quickview="'. $nectar_quick_view_in_use .'">';
woocommerce_template_loop_add_to_cart();
do_action( 'nectar_woocommerce_before_add_to_cart' );
echo '</div></div>'; ?>
</div>
<?php
}
}
if (!function_exists('product_thumbnail_minimal')) {
function product_thumbnail_minimal() {
global $product;
global $woocommerce;
global $product_hover_alt_image;
global $nectar_quick_view_in_use; ?>
<div class="background-color-expand"></div>
<div class="product-wrap">
<?php
$product_second_image = null;
if($product_hover_alt_image == '1') {
if( $woocommerce && version_compare( $woocommerce->version, "3.0", ">=" ) ) {
$product_attach_ids = $product->get_gallery_image_ids();
} else {
$product_attach_ids = $product->get_gallery_attachment_ids();
}
if ( isset($product_attach_ids[0]) )
$product_second_image = wp_get_attachment_image($product_attach_ids[0], 'shop_catalog', false, array( 'class' => 'hover-gallery-image' ));
}
echo '<a href="'.get_permalink().'">';
echo woocommerce_get_product_thumbnail() . $product_second_image;
echo '</a>';
echo '<div class="product-meta">';
echo '<a href="'.get_permalink().'">';
do_action( 'woocommerce_shop_loop_item_title' );
echo '</a>';
do_action( 'woocommerce_after_shop_loop_item_title' );
echo '<div class="price-hover-wrap">';
do_action( 'nectar_woo_minimal_price' );
echo '<div class="product-add-to-cart" data-nectar-quickview="'. $nectar_quick_view_in_use .'">';
woocommerce_template_loop_add_to_cart();
do_action( 'nectar_woocommerce_before_add_to_cart' );
echo '</div></div></div>'; ?>
</div>
<?php
}
}
if (!function_exists('product_thumbnail_with_cart_alt')) {
function product_thumbnail_with_cart_alt() { ?>
<div class="product-wrap">
<?php
global $product;
global $woocommerce;
global $product_hover_alt_image;
global $nectar_quick_view_in_use;
$product_second_image = null;
if($product_hover_alt_image == '1') {
if( $woocommerce && version_compare( $woocommerce->version, "3.0", ">=" ) ) {
$product_attach_ids = $product->get_gallery_image_ids();
} else {
$product_attach_ids = $product->get_gallery_attachment_ids();
}
if ( isset($product_attach_ids[0]) )
$product_second_image = wp_get_attachment_image($product_attach_ids[0], 'shop_catalog', false, array( 'class' => 'hover-gallery-image' ));
}
echo woocommerce_get_product_thumbnail() . $product_second_image; ?>
<div class="bg-overlay"></div>
<a href="<?php the_permalink(); ?>" class="link-overlay"></a>
<div class="text-on-hover-wrap">
<?php do_action( 'woocommerce_after_shop_loop_item_title' ); ?>
<?php
if( $woocommerce && version_compare( $woocommerce->version, "3.0", ">=" ) ) {
echo '<div class="categories">' . wc_get_product_category_list($product->get_id()) .'</div>';
} else {
echo '<div class="categories">' . $product->get_categories() .'</div>';
}
?>
</div>
<?php do_action( 'nectar_woocommerce_before_add_to_cart' ); ?>
</div>
<a href="<?php the_permalink(); ?>"><?php do_action( 'woocommerce_shop_loop_item_title' ); ?></a>
<?php woocommerce_template_loop_add_to_cart();
}
}
//add link to item titles
/*add_action('woocommerce_before_shop_loop_item_title','product_item_title_link_open');
add_action('woocommerce_after_shop_loop_item_title','product_item_title_link_close');
function product_item_title_link_open(){
echo '<a href="'.get_permalink().'">';
}
function product_item_title_link_close(){
echo '</a>';
}*/
function nectar_header_cart_output() {
global $woocommerce;
global $options;
$headerFormat = (!empty($options['header_format'])) ? $options['header_format'] : 'default';
$userSetSideWidgetArea = (!empty($options['header-slide-out-widget-area']) && $headerFormat != 'left-header' ) ? $options['header-slide-out-widget-area'] : 'off';
ob_start();
if ($woocommerce) {
$nav_cart_style = (!empty($options['ajax-cart-style'])) ? $options['ajax-cart-style'] : 'default';
?>
<div class="cart-outer" data-user-set-ocm="<?php echo $userSetSideWidgetArea; ?>" data-cart-style="<?php echo $nav_cart_style; ?>">
<div class="cart-menu-wrap">
<div class="cart-menu">
<a class="cart-contents" href="<?php echo wc_get_cart_url(); ?>"><div class="cart-icon-wrap"><i class="icon-salient-cart"></i> <div class="cart-wrap"><span><?php echo $woocommerce->cart->cart_contents_count; ?> </span></div> </div></a>
</div>
</div>
<div class="cart-notification">
<span class="item-name"></span> <?php echo __('was successfully added to your cart.', 'salient'); ?>
</div>
<?php
if($nav_cart_style != 'slide_in') {
// Check for WooCommerce 2.0 and display the cart widget
if ( version_compare( WOOCOMMERCE_VERSION, "2.0.0" ) >= 0 ) {
the_widget( 'WC_Widget_Cart' );
} else {
the_widget( 'WooCommerce_Widget_Cart', 'title= ' );
}
}
?>
</div>
<?php }
$captured_cart_content = ob_get_clean();
return $captured_cart_content;
}
add_action( 'wp','nectar_woo_social_add');
function nectar_woo_social_add() {
global $options;
global $woocommerce;
$nectar_woo_social_style = (!empty($options['woo_social_style'])) ? $options['woo_social_style'] : 'default';
if(empty($options['product_tab_position']) || $options['product_tab_position'] == 'in_sidebar') {
if($woocommerce && $nectar_woo_social_style == 'fixed_bottom_right' && is_product()) {
add_action( 'nectar_shop_fixed_social', 'review_quickview', 10 );
} else {
add_action( 'woocommerce_after_single_product_summary', 'review_quickview', 7 );
}
}
else {
if($woocommerce && $nectar_woo_social_style == 'fixed_bottom_right' && is_product()) {
add_action( 'nectar_shop_fixed_social', 'review_quickview', 10 );
} else {
add_action( 'woocommerce_single_product_summary', 'review_quickview', 100 );
}
add_action( 'woocommerce_after_single_product_summary', 'nectar_woo_clearfix', 7 );
}
} //nectar_woo_social_add
function nectar_woo_clearfix() {
echo '<div class="after-product-summary-clear"></div>';
}
function review_quickview(){
global $product, $options, $post;
/*$rating_count = $product->get_rating_count();
if(!empty($rating_count)) {
echo '<div class="review_num">'.sprintf( _n('%s review %s', '%s reviews %s', $rating_count, 'woocommerce'), '<span itemprop="ratingCount" class="count">'. $rating_count .'</span>', '' ).'</div>';
echo '<div class="quick_rating">';
woocommerce_get_template( 'loop/rating.php' );
echo '</div>';
} */
$nectar_woo_social_style = (!empty($options['woo_social_style'])) ? $options['woo_social_style'] : 'default';
?>
<div id="single-meta" data-fixed-sharing="<?php echo $nectar_woo_social_style; ?>" data-sharing="<?php echo ( !empty($options['woo_social']) && $options['woo_social'] == 1 ) ? '1' : '0'; ?>">
<?php
// portfolio social sharting icons
if( !empty($options['woo_social']) && $options['woo_social'] == 1 ) {
if($nectar_woo_social_style != 'fixed_bottom_right') {
echo '<ul class="product-sharing"><li class="meta-share-count"><a href="#"><i class="icon-default-style steadysets-icon-share"></i><span class="share-count-total">0</span> <span class="plural">'. __('Shares','salient') . '</span> <span class="singular">'. __('Share','salient') .'</span></a> <div class="nectar-social"><div class="nectar-social woo">';
} else {
echo '<div class="nectar-social-sharing-fixed"><a href="#"><i class="icon-default-style steadysets-icon-share"></i></a> <div class="nectar-social woo">';
}
//facebook
if(!empty($options['woo-facebook-sharing']) && $options['woo-facebook-sharing'] == 1) {
echo "<a class='facebook-share nectar-sharing' href='#' title='Share this'> <i class='fa fa-facebook'></i> <span class='count'></span></a>";
}
//twitter
if(!empty($options['woo-twitter-sharing']) && $options['woo-twitter-sharing'] == 1) {
echo "<a class='twitter-share nectar-sharing' href='#' title='Tweet this'> <i class='fa fa-twitter'></i> <span class='count'></span></a>";
}
//google plus
if(!empty($options['woo-google-plus-sharing']) && $options['woo-google-plus-sharing'] == 1) {
echo "<a class='google-plus-share nectar-sharing-alt' href='#' title='".__('Share this', 'salient')."'> <i class='fa fa-google-plus'></i> <span class='count'>0</span></a>";
}
//linkedIn
if(!empty($options['woo-linkedin-sharing']) && $options['woo-linkedin-sharing'] == 1) {
echo "<a class='linkedin-share nectar-sharing' href='#' title='".__('Share this', 'salient')."'> <i class='fa fa-linkedin'></i> <span class='count'> </span></a>";
}
//pinterest
if(!empty($options['woo-pinterest-sharing']) && $options['woo-pinterest-sharing'] == 1) {
echo "<a class='pinterest-share nectar-sharing' href='#' title='Pin this'> <i class='fa fa-pinterest'></i> <span class='count'></span></a>";
}
if($nectar_woo_social_style != 'fixed_bottom_right') {
echo '</div></div></li></ul>';
} else {
echo '</div></div>';
}
}
?>
</div>
<?php
}
// Image sizes
global $pagenow;
if ( is_admin() && isset( $_GET['activated'] ) && $pagenow == 'themes.php' ) { add_action( 'init', 'nectar_woocommerce_image_dimensions', 1 ); }
// Define image sizes
function nectar_woocommerce_image_dimensions() {
$catalog = array(
'width' => '375',
'height' => '400',
'crop' => 1
);
$single = array(
'width' => '600',
'height' => '630',
'crop' => 1
);
$thumbnail = array(
'width' => '130',
'height' => '130',
'crop' => 1
);
update_option( 'shop_catalog_image_size', $catalog ); // Product category thumbs
update_option( 'shop_single_image_size', $single ); // Single product image
update_option( 'shop_thumbnail_image_size', $thumbnail ); // Image gallery thumbs
}
// Open Graph
if (!function_exists('add_opengraph')) {
function add_opengraph() {
global $post; // Ensures we can use post variables outside the loop
// Start with some values that don't change.
echo "<meta property='og:site_name' content='". get_bloginfo('name') ."'/>"; // Sets the site name to the one in your WordPress settings
echo "<meta property='og:url' content='" . get_permalink() . "'/>"; // Gets the permalink to the post/page
if (is_singular()) { // If we are on a blog post/page
echo "<meta property='og:title' content='" . get_the_title() . "'/>"; // Gets the page title
echo "<meta property='og:type' content='article'/>"; // Sets the content type to be article.
} elseif(is_front_page() or is_home()) { // If it is the front page or home page
echo "<meta property='og:title' content='" . get_bloginfo("name") . "'/>"; // Get the site title
echo "<meta property='og:type' content='website'/>"; // Sets the content type to be website.
}
if(has_post_thumbnail( $post->ID )) { // If the post has a featured image.
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'large' );
echo "<meta property='og:image' content='" . esc_attr( $thumbnail[0] ) . "'/>"; // If it has a featured image, then display this for Facebook
}
}
}
if( !function_exists('nectar_remove_hentry_cssclass') ) {
function nectar_remove_hentry_cssclass( $classes ) {
$classes = array_diff( $classes, array( 'hentry' ) );
return $classes;
}
}
add_filter( 'post_class', 'nectar_remove_hentry_cssclass' );
$using_jetpack_publicize = ( class_exists( 'Jetpack' ) && in_array( 'publicize', Jetpack::get_active_modules()) ) ? true : false;
if ( !defined('WPSEO_VERSION') && !class_exists('NY_OG_Admin') && !class_exists('Wpsso') && $using_jetpack_publicize == false) {
add_action( 'wp_head', 'add_opengraph', 5 );
}