'' ) , $atts) ); /* no id has been set , nothing more to do here */ if( empty($id) ) return; /* set token */ self::$token = $id; /* set cache */ self::$cache = ( get_option('portfolio_cache_mode') == 'on' ) ? '&c=1' : ''; /* get portfolio type */ $ut_portfolio_type = get_post_meta( self::$token , 'ut_portfolio_type' , true ); /* |-------------------------------------------------------------------------- | Showcase Gallery |-------------------------------------------------------------------------- */ if( $ut_portfolio_type == 'ut_showcase' ) { self::$add_showcase_script = true; add_action( 'wp_footer' , array(__CLASS__, 'enqueue_showcase_scripts') ); /* create showcase gallery */ return self::create_showcase_gallery(); } /* |-------------------------------------------------------------------------- | Portfolio Carousel |-------------------------------------------------------------------------- */ if( $ut_portfolio_type == 'ut_carousel' ) { self::$add_showcase_script = true; add_action( 'wp_footer' , array(__CLASS__, 'enqueue_showcase_scripts') ); /* create showcase gallery */ return self::create_portfolio_carousel(); } /* |-------------------------------------------------------------------------- | Grid / Masonry Gallery |-------------------------------------------------------------------------- */ if( $ut_portfolio_type == 'ut_masonry' ) { self::$add_masonry_script = true; add_action( 'wp_footer' , array(__CLASS__, 'enqueue_masonry_scripts') ); /* create masonry gallery */ return self::create_masonry_gallery(); } /* |-------------------------------------------------------------------------- | Portfolio Filterable Gallery |-------------------------------------------------------------------------- */ if( $ut_portfolio_type == 'ut_gallery' ) { self::$add_gallery_script = true; add_action( 'wp_footer' , array(__CLASS__, 'enqueue_gallery_scripts') ); /* create masonry gallery */ return self::create_portfolio_gallery(); } } /* |-------------------------------------------------------------------------- | Create hidden slide / popup gallery for all gallery types |-------------------------------------------------------------------------- */ static function create_hidden_popup_portfolio( $portfolio_args = array() , $image_style = "" ) { /* no query args - we leave here */ if(empty($portfolio_args)) { return; } /* create hidden portfolio */ $hidden_portfolio = '
'; $hidden_portfolio .= '
'; $hidden_portfolio .= '
'; /* |-------------------------------------------------------------------------- | Portfolio Navigation |-------------------------------------------------------------------------- */ $hidden_portfolio .= '
'; $hidden_portfolio .= ''; $hidden_portfolio .= ''; $hidden_portfolio .= ''; $hidden_portfolio .= '
'; /* start query */ $portfolio_query = new WP_Query( $portfolio_args ); /* loop trough portfolio items */ if ($portfolio_query->have_posts()) : while ($portfolio_query->have_posts()) : $portfolio_query->the_post(); global $more; /* needed variables */ $more = $portfolio_details = NULL; $post_format = get_post_format(); /* meta data*/ $ut_portfolio_details = get_post_meta( $portfolio_query->post->ID , 'ut_portfolio_details', true ); /* grab up the featured image url */ $fullsize = $thumbnail = wp_get_attachment_url( get_post_thumbnail_id( $portfolio_query->post->ID ) ); /* create hidden content div first */ $hidden_portfolio .= '
'; /* portfolio details */ if( is_array( $ut_portfolio_details ) && !empty( $ut_portfolio_details ) && ( count($ut_portfolio_details) > 1 ) ) { $portfolio_details .= '
    '; foreach( $ut_portfolio_details as $key => $detail ) { if( !empty($detail['title']) && !empty($detail['value']) ) { $portfolio_details .= '
  • ' . $detail['title'] . ': ' . $detail['value'] . '
  • '; } } $portfolio_details .= '
'; } /* start markup */ $hidden_portfolio .= '
'; if( ! post_password_required() ) { /* |-------------------------------------------------------------------------- | Standard Post Format |-------------------------------------------------------------------------- */ if( empty( $post_format ) ) { /* featured image */ $hidden_portfolio .= '' . get_the_title() . ''; /* get the content */ $the_content = apply_filters( 'the_content' , get_the_content( '' . __( 'Read more', 'ut_portfolio_lang' ) . '' ) ); } /* |-------------------------------------------------------------------------- | Video Post Format |-------------------------------------------------------------------------- */ if( $post_format == 'video' ) { /* get the content */ $content = get_the_content( '' . __( 'Read more', 'ut_portfolio_lang' ) . '' ); /* try to catch video url */ $video_url = ut_get_portfolio_format_video_content( $content ); /* add video to hidden portfolio detail*/ $hidden_portfolio .= '
'; /* cut out the video url from content and format it */ $the_content = str_replace( $video_url , "" , $content); $the_content = apply_filters( 'the_content' , $the_content ); } /* |-------------------------------------------------------------------------- | Gallery Post Format |-------------------------------------------------------------------------- */ if( $post_format == 'gallery' ) { $hidden_portfolio .= ut_portfolio_flex_slider( $portfolio_query->post->ID , false , $image_style ); /* cut out the gallery shortcode from the content and format it */ $content = preg_replace( '/(.?)\[(gallery)\b(.*?)(?:(\/))?\](?:(.+?)\[\/\2\])?(.?)/s', '$1$6', get_the_content( '' . __( 'Read more', 'ut_portfolio_lang' ) . '' ) ); $the_content = apply_filters( 'the_content' , $content ); } } else { $hidden_portfolio .= '
' . __('Password Protected Portfolio' , 'ut_portfolio_lang') . '
'; $the_content = get_the_password_form(); } $hidden_portfolio .= '
'; $hidden_portfolio .= '
'; $hidden_portfolio .= '

' . get_the_title() . '

'; $hidden_portfolio .= $portfolio_details; $hidden_portfolio .= $the_content; $hidden_portfolio .= '
'; $hidden_portfolio .= '
'; /* end loop */ endwhile; endif; /* reset query */ wp_reset_postdata(); $hidden_portfolio .= '
'; $hidden_portfolio .= '
'; $hidden_portfolio .= '
'; return $hidden_portfolio; } /* |-------------------------------------------------------------------------- | Showcase Gallery |-------------------------------------------------------------------------- */ static function create_showcase_gallery() { global $paged; /* settings */ $portfolio_categories = get_post_meta( self::$token , 'ut_portfolio_categories' ); /* global portfolio settings */ $portfolio_settings = get_post_meta( self::$token , 'ut_portfolio_settings' ); $portfolio_settings = $portfolio_settings[0]; /* showcase options */ $showcase_options = get_post_meta( self::$token , 'ut_showcase_options' ); $showcase_options = $showcase_options[0]; /* fallback if no meta has been set */ $portfolio_per_page = !empty($portfolio_settings['posts_per_page']) ? $portfolio_settings['posts_per_page'] : 4 ; $portfolio_categories = !empty($portfolio_categories) ? $portfolio_categories : array(); /* portfolio query terms */ $portfolio_terms = array(); if( is_array($portfolio_categories[0]) && !empty($portfolio_categories[0]) ) { foreach( $portfolio_categories[0] as $key => $value) { array_push($portfolio_terms , $key); } } /* query args */ $portfolio_args = array( 'post_type' => 'portfolio', 'posts_per_page' => $portfolio_per_page, 'paged' => $paged, 'tax_query' => array( array( 'taxonomy' => 'portfolio-category', 'terms' => $portfolio_terms, 'field' => 'term_id' ) ) ); /* start query */ $portfolio_query = new WP_Query( $portfolio_args ); /* needed javascript */ $showcase = self::generate_showcase_script( $showcase_options ); /* start showcase */ $showcase .= '
'; $showcase .= '
'; $showcase .= ''; $showcase .= '
'; /* return final showcase */ if( isset($showcase_options['display_thumbnail_navigation'] ) ) { return $showcase . $showcase_navigation . '
'; } else { return $showcase . ''; } } static function generate_showcase_script( $showcase_options ) { /* settings */ $container = self::$token; $thumbnail_navigation = ''; $sync = ''; /* showcase navigation script */ if( isset( $showcase_options['display_thumbnail_navigation'] ) ) : $thumbnail_navigation = " $('#carousel_$container').flexslider({ animation: 'slide', controlNav: false, animationLoop: false, slideshow: false, itemWidth: 210, itemMargin: 5, asNavFor: '#slider_$container' });"; // sync for slider function $sync = "sync: '#carousel_$container'"; endif; /* end showcase navigation */ /* showcase options */ $animation = !empty($showcase_options['animation']) ? $showcase_options['animation'] : 'slide'; $slideshowSpeed = !empty($showcase_options['slideshowSpeed']) ? $showcase_options['slideshowSpeed'] : '7000'; $animationSpeed = !empty($showcase_options['animationSpeed']) ? $showcase_options['animationSpeed'] : '600'; $directionNav = !empty($showcase_options['directionNav']) ? 'true' : 'false'; $smoothHeight = !empty($showcase_options['smoothHeight']) ? 'true' : 'false'; /* main showcase script */ $script = " "; /* end main showcase script */ /* output javascript */ return ut_compress_java($script); } /* |-------------------------------------------------------------------------- | Portfolio Carousel |-------------------------------------------------------------------------- */ static function create_portfolio_carousel() { /* settings */ $portfolio_categories = get_post_meta( self::$token , 'ut_portfolio_categories' ); /* global portfolio settings */ $portfolio_settings = get_post_meta( self::$token , 'ut_portfolio_settings' ); $portfolio_settings = $portfolio_settings[0]; /* showcase options */ $carousel_options = get_post_meta( self::$token , 'ut_carousel_options' ); $carousel_options = $carousel_options[0]; /* detail style */ $detailstyle = !empty($portfolio_settings['detail_style']) ? $portfolio_settings['detail_style'] : 'slideup'; /* fallback if no meta has been set */ $portfolio_per_page = !empty($portfolio_settings['posts_per_page']) ? $portfolio_settings['posts_per_page'] : 4 ; $portfolio_categories = !empty($portfolio_categories) ? $portfolio_categories : array(); /* portfolio query terms */ $portfolio_terms = array(); if( is_array($portfolio_categories[0]) && !empty($portfolio_categories[0]) ) { foreach( $portfolio_categories[0] as $key => $value) { array_push($portfolio_terms , $key); } } /* query args */ $portfolio_args = array( 'post_type' => 'portfolio', 'posts_per_page' => $portfolio_per_page, 'tax_query' => array( array( 'taxonomy' => 'portfolio-category', 'terms' => $portfolio_terms, 'field' => 'term_id' ) ) ); /* start query */ $portfolio_query = new WP_Query( $portfolio_args ); /* needed javascript */ $carousel = self::generate_carousel_script( $carousel_options ); /* gallery style */ $gallery_style = !empty($carousel_options['style']) ? $carousel_options['style'] : 'style_one'; $gallery_style_class = NULL; switch ( $gallery_style ) { case 'style_one': $gallery_style_class = 'portfolio-style-one'; break; case 'style_two': $gallery_style_class = 'portfolio-style-two'; break; } /* create hidden gallery */ if( $detailstyle == 'slideup' ) { $carousel .= self::create_hidden_popup_portfolio( $portfolio_args , $portfolio_settings['image_style'] ); } /* create carousel */ $carousel .= ''; /* return final carousel */ return $carousel; } static function generate_carousel_script( $carousel_options ) { /* settings */ $container = self::$token; $columns = !empty($carousel_options['columns']) ? $carousel_options['columns'] : 4; /* script */ $script = " "; /* end carousel script */ /* return javascript */ return ut_compress_java($script); } /* |-------------------------------------------------------------------------- | Grid / Masonry Gallery |-------------------------------------------------------------------------- */ static function create_masonry_gallery() { global $paged; /* settings */ $portfolio_categories = get_post_meta( self::$token , 'ut_portfolio_categories' ); /* global portfolio settings */ $portfolio_settings = get_post_meta( self::$token , 'ut_portfolio_settings' ); $portfolio_settings = $portfolio_settings[0]; /* detail style */ $detailstyle = !empty($portfolio_settings['detail_style']) ? $portfolio_settings['detail_style'] : 'slideup'; /* masonry options */ $masonry_options = get_post_meta( self::$token , 'ut_masonry_options' ); $masonry_options = $masonry_options[0]; /* fallback if no meta has been set */ $portfolio_per_page = !empty($portfolio_settings['posts_per_page']) ? $portfolio_settings['posts_per_page'] : 4 ; $portfolio_categories = !empty($portfolio_categories) ? $portfolio_categories : array(); /* portfolio query terms */ $portfolio_terms = array(); if( is_array($portfolio_categories[0]) && !empty($portfolio_categories[0]) ) { foreach( $portfolio_categories[0] as $key => $value) { array_push($portfolio_terms , $key); } } /* query args */ $portfolio_args = array( 'post_type' => 'portfolio', 'posts_per_page' => $portfolio_per_page, 'paged' => $paged, 'tax_query' => array( array( 'taxonomy' => 'portfolio-category', 'terms' => $portfolio_terms, 'field' => 'term_id' ) ) ); /* start query */ $portfolio_query = new WP_Query( $portfolio_args ); /* needed javascript */ $masonry = self::generate_masonry_script( $masonry_options ); /* create hidden gallery */ if( $detailstyle == 'slideup' ) { $masonry .= self::create_hidden_popup_portfolio( $portfolio_args , $portfolio_settings['image_style'] ); } /* portfolio wrapper */ $masonry .= '
'; /* loop trough portfolio items */ if ($portfolio_query->have_posts()) : while ($portfolio_query->have_posts()) : $portfolio_query->the_post(); $fullsize = $thumbnail = wp_get_attachment_url( get_post_thumbnail_id( $portfolio_query->post->ID ) ); $caption = get_post( get_post_thumbnail_id( $portfolio_query->post->ID ) )->post_excerpt; /* image dimensions */ $imageinfo = wp_get_attachment_image_src( get_post_thumbnail_id( $portfolio_query->post->ID ) , "full" ); $width = $imageinfo[1]; $height = $imageinfo[2]; /* cropping dimensions */ $width = !empty($masonry_options['crop_size_x']) ? $masonry_options['crop_size_x'] : '600'; $height = !empty($masonry_options['crop_size_y']) ? $masonry_options['crop_size_y'] : '400'; $thumbnail = ut_resize( $fullsize , $width , $height , true , true , true ); /* link settings */ $ut_portfolio_link_type = get_post_meta( $portfolio_query->post->ID , 'ut_portfolio_link_type' , true); $external = FALSE; $target = '_blank'; if( !empty($ut_portfolio_link_type['target']) && $ut_portfolio_link_type['target'] == 'external' ) { /* get link user haas to set */ $external = get_post_meta( $portfolio_query->post->ID , 'ut_external_link' , true); } elseif( !empty($ut_portfolio_link_type['target']) && $ut_portfolio_link_type['target'] == 'internal' ) { /* get permalink to single portfolio */ $external = get_permalink( $portfolio_query->post->ID ); $target = '_self'; } /* create single content item */ $masonry .= '
'; $title= str_ireplace('"', '', trim(get_the_title())); /* link markup for detail slideup */ if( $detailstyle == 'slideup' ) { /* has external link */ if($external) { $masonry .= ''; } else { $masonry .= ''; } } /* link markup for image popup */ if( $detailstyle == 'popup' ) { $popuplink = NULL; $post_format = get_post_format(); /* image post or audio post */ if( empty( $post_format ) || $post_format == 'audio' ) { /* has external link */ if($external) { $masonry .= ''; } else { $masonry .= ''; } } /* video post */ if( $post_format == 'video' ) { /* has external link */ if($external) { $masonry .= ''; } else { /* get the content */ $content = get_the_content( '' . __( 'Read more', 'ut_portfolio_lang' ) . '' ); /* try to catch video url */ $popuplink = ut_get_portfolio_format_video_content( $content ); $masonry .= ''; } } /* gallery post */ if( $post_format == 'gallery' ) { /* has external link */ if($external) { $masonry .= ''; } else { $masonry .= ut_portfolio_popup_gallery( $portfolio_query->post->ID , self::$token ); $masonry .= ''; } } } if ( has_post_thumbnail() && ! post_password_required() ) : $masonry .= '
'; $masonry .= '' . get_the_title() . ''; $masonry .= '
'; else : $masonry .= '
' . __('Password Protected Portfolio' , 'ut_portfolio_lang') . '
'; endif; $masonry .= '
'; $masonry .= '
'; $masonry .= '
'; /* Portfolio Title and Categories */ $masonry .= '

' . get_the_title() . '

'; /* get all portfolio-categories for this item */ $portfolio_cats = wp_get_object_terms( $portfolio_query->post->ID , 'portfolio-category' ); $masonry .= '' . ut_generate_cat_list( $portfolio_cats ) . ''; $masonry .= '
'; $masonry .= '
'; $masonry .= '
'; $masonry .= '
'; $masonry .= '
'; endwhile; endif; $masonry .= '
'; /* reset query */ wp_reset_postdata(); return $masonry; } static function generate_masonry_script( $masonry_options ) { /* settings */ $container = self::$token; $columns = !empty($masonry_options['columns']) ? $masonry_options['columns'] : 5; $tcolumns = !empty($masonry_options['tcolumns']) ? $masonry_options['tcolumns'] : 3; $mcolumns = !empty($masonry_options['mcolumns']) ? $masonry_options['mcolumns'] : 2; $height = !empty($masonry_options['crop_size_y']) ? $masonry_options['crop_size_y'] : '400'; $script = " "; return ut_compress_java($script); } /* |-------------------------------------------------------------------------- | Portfolio Filterable Gallery |-------------------------------------------------------------------------- */ static function create_portfolio_gallery() { global $paged , $wp_query; /* pagination */ if ( empty($paged) ) { if ( !empty( $_GET['paged'] ) ) { $paged = $_GET['paged']; } elseif ( !empty($wp->matched_query) && $args = wp_parse_args($wp->matched_query) ) { if ( !empty( $args['paged'] ) ) { $paged = $args['paged']; } } if ( !empty($paged) ) $wp_query->set('paged', $paged); } $temp = $wp_query; $wp_query = $term = null; /* settings */ $portfolio_categories = get_post_meta( self::$token , 'ut_portfolio_categories' ); $term = ''; /* global portfolio settings */ $portfolio_settings = get_post_meta( self::$token , 'ut_portfolio_settings' ); $portfolio_settings = $portfolio_settings[0]; /* gallery options */ $gallery_options = get_post_meta( self::$token , 'ut_gallery_options' ); $gallery_options = $gallery_options[0]; /* detail style */ $detailstyle = !empty($portfolio_settings['detail_style']) ? $portfolio_settings['detail_style'] : 'slideup'; /* columnset */ $columnset = !empty($gallery_options['columns']) ? $gallery_options['columns'] : 4; $gutter = !empty($gallery_options['gutter']) ? 'gutter' : ''; /* image style */ $image_style_class = $portfolio_settings['image_style']; /* variables for last row item */ switch ($columnset) { case 2: $z = 0; $counter = 1; break; case 3: $z = 4; $counter = 2; break; case 4: $z = 5; $counter = 3; break; } /* fallback if no meta has been set */ $portfolio_per_page = !empty($portfolio_settings['posts_per_page']) ? $portfolio_settings['posts_per_page'] : 4 ; $portfolio_categories = !empty($portfolio_categories) ? $portfolio_categories : array(); /* portfolio query terms */ $portfolio_terms = array(); if( is_array($portfolio_categories[0]) && !empty($portfolio_categories[0]) ) { foreach( $portfolio_categories[0] as $key => $value) { array_push($portfolio_terms , $key); } $portfolio_terms_query = $portfolio_terms; } /* only change term if browser is browsing this portfolio */ if( ( !empty( $_GET['portfolioID'] ) && $_GET['portfolioID'] == self::$token ) ) : if( $gallery_options['filter_type'] == 'static' && !empty($_GET['termID']) ) { /* sanitize term */ $term = absint( $_GET['termID'] ); /* reset terms */ $portfolio_terms_query = array(); array_push($portfolio_terms_query , $term); } endif; /* user is not browsing this portfolio , so we reset the pagination */ if( ( !empty( $_GET['portfolioID'] ) && $_GET['portfolioID'] != self::$token ) ) : $paged = 0; endif; /* query args */ $portfolio_args = array( 'post_type' => 'portfolio', 'posts_per_page' => $portfolio_per_page, 'paged' => $paged, 'tax_query' => array( array( 'taxonomy' => 'portfolio-category', 'terms' => $portfolio_terms_query, 'field' => 'term_id' ) ) ); /* start query */ $portfolio_query = $wp_query = new WP_Query( $portfolio_args ); /* portfolio filter */ if( !empty($gallery_options['filter']) ) : $filter = '
'; endif; /* needed javascript */ $gallery = self::generate_gallery_script( $gallery_options , $counter ); /* create hidden gallery */ if( $detailstyle == 'slideup' ) { $gallery .= self::create_hidden_popup_portfolio( $portfolio_args , $portfolio_settings['image_style'] ); } /* output portfolio wrap */ $gallery .= '
'; $gallery .= ''; /* add filter */ if( isset($gallery_options['filter']) ) { $gallery .= $filter; } /* output portfolio container */ $gallery .= '
'; /* loop trough portfolio items */ if ($portfolio_query->have_posts()) : while ($portfolio_query->have_posts()) : $portfolio_query->the_post(); /* needed variables */ $projecttype = ''; $title = str_ireplace('"', '', trim(get_the_title())); $post_format = get_post_format(); /* link settings */ $ut_portfolio_link_type = get_post_meta( $portfolio_query->post->ID , 'ut_portfolio_link_type' , true); $external = false; $target = '_blank'; if( !empty($ut_portfolio_link_type['target']) && $ut_portfolio_link_type['target'] == 'external' ) { /* get link user haas to set */ $external = get_post_meta( $portfolio_query->post->ID , 'ut_external_link' , true); } elseif( !empty($ut_portfolio_link_type['target']) && $ut_portfolio_link_type['target'] == 'internal' ) { /* get permalink to single portfolio */ $external = get_permalink( $portfolio_query->post->ID ); $target = '_self'; } /* itemposition */ $itemposition = ''; if($columnset !=3) { if($columnset == 2) { (($z%2)==0) ? $itemposition = '' : $itemposition = 'last'; } if($columnset == 4) { (($z%4)==0) ? $itemposition = 'last' : $itemposition = ''; } } else { if(($z%3) == 0) { $itemposition = 'last'; $z = 3; } } /* get all portfolio-categories for this item ( needed for filter ) */ $portfolio_cats = wp_get_object_terms( $portfolio_query->post->ID , 'portfolio-category' ); /* set filter attributes */ if( is_array($portfolio_cats) ) { foreach($portfolio_cats as $single_cat) { $projecttype .= $single_cat->slug."-filt "; } } /* gallery style */ $gallery_style = !empty($gallery_options['style']) ? $gallery_options['style'] : 'style_one'; /* portfolio featured image */ $fullsize = $thumbnail = wp_get_attachment_url( get_post_thumbnail_id($portfolio_query->post->ID) ); $caption = get_post( get_post_thumbnail_id( $portfolio_query->post->ID ) )->post_excerpt; /* cropping dimensions */ $width = !empty($gallery_options['crop_size_x']) ? $gallery_options['crop_size_x'] : '600'; $height = !empty($gallery_options['crop_size_y']) ? $gallery_options['crop_size_y'] : '400'; $thumbnail = ut_resize( $fullsize , $width , $height , true , true , true ); /* style one images with title */ if( $gallery_style == 'style_one') { /* create single portfolio item */ $gallery .= '
'; $gallery .= ''; $gallery .= '
'; } /* style two only images */ if( $gallery_style == 'style_two') { /* create single portfolio item */ $gallery .= '
'; $gallery .= '
'; /* link markup for slideup details */ if( $detailstyle == 'slideup' ) { /* has external link */ if($external) { $gallery .= ''; } else { $gallery .= ''; } } /* link markup for image popup */ if( $detailstyle == 'popup' ) { $popuplink = NULL; /* image post or audio post */ if( empty( $post_format ) || $post_format == 'audio' ) { /* has external link */ if($external) { $gallery .= ''; } else { $gallery .= ''; } } /* video post */ if( $post_format == 'video' ) { /* has external link */ if( !empty($external) ) { $gallery .= ''; } else { /* get the content */ $content = get_the_content( '' . __( 'Read more', 'ut_portfolio_lang' ) . '' ); /* try to catch video url */ $popuplink = ut_get_portfolio_format_video_content( $content ); $gallery .= ''; } } /* gallery post */ if( $post_format == 'gallery' ) { /* has external link */ if($external) { $gallery .= ''; } else { $gallery .= ut_portfolio_popup_gallery( $portfolio_query->post->ID , self::$token ); $gallery .= ''; } } } if ( has_post_thumbnail() && ! post_password_required() ) : $gallery .= '
' . get_the_title() . '
'; elseif( post_password_required() ) : $gallery .= '
' . __('Password Protected Portfolio' , 'ut_portfolio_lang') . '
'; endif; $gallery .= '
'; $gallery .= '
'; $gallery .= '
'; if( $post_format == 'video' ) { $gallery .= ''; } if( $post_format == 'audio' ) { $gallery .= ''; } if( $post_format == 'gallery' ) { $gallery .= ''; } if( empty($post_format) ) { $gallery .= ''; } $gallery .= '' . ut_generate_cat_list( $portfolio_cats ) . ''; $gallery .= '
'; $gallery .= '
'; $gallery .= '
'; $gallery .= '
'; $gallery .= '
'; /* link markup for slideup details */ if( $detailstyle == 'slideup' ) { $gallery .= ''; } /* link markup for image popup */ if( $detailstyle == 'popup' ) { $popuplink = NULL; /* image post or audio post */ if( empty( $post_format ) || $post_format == 'audio' ) { $gallery .= ''; } /* video post */ if( $post_format == 'video' ) { /* get the content */ $content = get_the_content( '' . __( 'Read more', 'ut_portfolio_lang' ) . '' ); /* try to catch video url */ $popuplink = ut_get_portfolio_format_video_content( $content ); $gallery .= ''; } /* gallery post */ if( $post_format == 'gallery' ) { $gallery .= ''; } } /* item title */ $gallery .= '

' . $title . '

'; $gallery .= '
'; $gallery .= '
'; $gallery .= '
'; $gallery .= '
'; } $z++; endwhile; endif; /* end portfolio container */ $gallery .= '
'; /* portfolio pagination */ if( $portfolio_query->max_num_pages > 1 ){ $gallery .= ''; } /* end portfolio wrap */ $gallery .= '
'; /* reset query */ wp_reset_postdata(); /* restore wp_query */ $wp_query = null; $wp_query = $temp; /* return final gallery */ return $gallery; } static function generate_gallery_script( $gallery_options , $counter = 3 ) { $gutter = !empty($gallery_options['gutter']) ? 'on' : ''; $script = ' '; return ut_compress_java($script); } static function search_tax_key( $id, $array ) { foreach ($array as $key => $val) { if($val['term_id'] == $id) { return $key; } } return null; } static function enqueue_showcase_scripts() { if ( ! self::$add_showcase_script ) { return; } /* needed js */ wp_enqueue_script('ut-flexslider-js' , UT_PORTFOLIO_URL . 'assets/js/plugins/flexslider/jquery.flexslider-min.js'); wp_enqueue_script('ut-effect' , UT_PORTFOLIO_URL . 'assets/js/ut.effects.js'); wp_localize_script('ut-effect', 'utPortfolio' , array( 'ajaxurl' => admin_url( 'admin-ajax.php' ))); /* needed css */ wp_enqueue_style('ut-flexslider' , UT_PORTFOLIO_URL . 'assets/css/plugins/flexslider/flexslider.css'); } static function enqueue_masonry_scripts() { if ( ! self::$add_masonry_script ) { return; } /* needed js */ wp_enqueue_script('ut-perfectmasonry-js' , UT_PORTFOLIO_URL . 'assets/js/jquery.isotope.perfectmasonry.min.js' , array()); wp_enqueue_script('ut-masonry-js' , UT_PORTFOLIO_URL . 'assets/js/jquery.utmasonry.js' , array(), '1.8'); wp_enqueue_script('ut-effect' , UT_PORTFOLIO_URL . 'assets/js/ut.effects.js'); wp_localize_script('ut-effect', 'utPortfolio' , array( 'ajaxurl' => admin_url( 'admin-ajax.php' ))); } static function enqueue_gallery_scripts() { if ( ! self::$add_gallery_script ) { return; } /* needed js */ wp_enqueue_script('ut-perfectmasonry-js' , UT_PORTFOLIO_URL . 'assets/js/jquery.isotope.perfectmasonry.min.js' , array()); wp_enqueue_script('ut-masonry-js' , UT_PORTFOLIO_URL . 'assets/js/jquery.utmasonry.js' , array(), '1.8'); wp_enqueue_script('ut-effect' , UT_PORTFOLIO_URL . 'assets/js/ut.effects.js'); wp_localize_script('ut-effect', 'utPortfolio' , array( 'ajaxurl' => admin_url( 'admin-ajax.php' ))); } } ut_portfolio_shortcode::init(); ?>