Esempio n. 1
0
function ewf_vc_portfolio_grid($atts, $content)
{
    global $post;
    $options = shortcode_atts(array("items" => 8, "id" => null, "exclude" => null, "order" => "DESC", "list" => null, "service" => null, "columns" => 3, "css" => null, "nav" => 1), $atts);
    extract($options);
    $class_extra = ' ' . $css;
    $_ewf_rowItems = 0;
    $_ewf_span = 3;
    $_ewf_items = 0;
    switch ($columns) {
        case '3':
            $_ewf_span = '4';
            break;
        case '4':
            $_ewf_span = '3';
            break;
    }
    if (get_option(EWF_SETUP_THNAME . "_debug_mode", 'false') == 'true') {
        echo '<pre><strong>Portfolio Grid</strong><br/>';
        // print_r($atts);
        print_r($options);
        echo '</pre>';
    }
    ob_start();
    $wp_portfolio_query = ewf_helper_query_builder($options);
    $wp_portfolio = new WP_Query($wp_portfolio_query);
    while ($wp_portfolio->have_posts()) {
        $wp_portfolio->the_post();
        global $post;
        #	Get post extra info
        $post_extra = ewf_helper_get_post_extra($post, 'ewf-portfolio-grid', EWF_PROJECTS_TAX_SERVICES);
        #	Split in columns
        $_ewf_items++;
        if ($_ewf_rowItems == 0) {
            echo '<div class="row">';
        }
        $_ewf_rowItems++;
        echo '<div class="span' . $_ewf_span . '">
						<div class="portfolio-item">
							<div class="portfolio-item-preview">
							
								<img src="' . $post_extra['image-thumb'] . '" alt="" >
								
								<div class="portfolio-item-overlay">
									
									<div class="portfolio-item-description">
										<h5>' . get_the_title() . '</h5>
										<p>' . get_the_excerpt() . '</p>
										<a class="btn" href="' . get_permalink() . '">' . __("View", 'bitpub') . '</a>
									</div><!-- end .portfolio-item-description -->
									
								</div><!-- end .portfolio-item-overlay -->
								
							</div><!-- end .portfolio-item-preview -->   

						</div><!-- end .portfolio-item -->
					</div>';
        #	Split in columns
        if ($_ewf_rowItems == $columns || $wp_portfolio->post_count == $_ewf_items) {
            $_ewf_rowItems = 0;
            echo '</div>';
        }
    }
    wp_reset_postdata();
    #	Navigation
    #
    if ($nav) {
        echo ewf_sc_grid_navigation_pages(5, $wp_portfolio);
    }
    return '<div class="portfolio-columns gutter ' . $class_extra . '">' . ob_get_clean() . '</div>';
}
function ewf_vc_portfolio_parallax($atts, $content)
{
    global $post;
    $options = shortcode_atts(array("items" => 3, "exclude" => null, "order" => "DESC", "list" => null, "service" => null, "nav" => 1, "css" => null), $atts);
    extract($options);
    if ($service == 'All Services') {
        $service = null;
    }
    $class_extra = ' ' . $css;
    $ewf_paged = get_query_var('paged') ? get_query_var('paged') : 1;
    $query = array('post_type' => EWF_PROJECTS_SLUG, 'order' => $order, 'orderby' => 'date', 'paged' => $ewf_paged, 'posts_per_page' => $items);
    if ($list == 'latest') {
        $query['orderby'] = 'date';
        $query['order'] = 'DESC';
        $id = null;
    }
    if ($list == 'random') {
        $query['orderby'] = 'rand';
    }
    if ($exclude != null) {
        if (is_numeric($exclude)) {
            $exclude_items[] = $exclude;
        } else {
            $tmp_id = explode(',', trim($exclude));
            foreach ($tmp_id as $key => $item_id) {
                if (is_numeric($item_id)) {
                    $exclude_items[] = $item_id;
                }
            }
        }
        $query['post__not_in'] = $exclude_items;
    }
    // if ($id != null){
    // if (is_numeric($id)){
    // $include_posts[] = $id ;
    // }else{
    // $tmp_id = explode(',', trim($id));
    // foreach($tmp_id as $key => $item_id){
    // if (is_numeric($item_id)){
    // $include_posts[] = $item_id ;
    // }
    // }
    // }
    // unset($query['post__not_in']);
    // unset($query['tax_query']);
    // $query['post__in'] = $include_posts;
    // $query['posts_per_page'] = count($include_posts);
    // }
    if ($service != null && $list == 'service') {
        $query['tax_query'] = array(array('taxonomy' => EWF_PROJECTS_TAX_SERVICES, 'field' => 'slug', 'terms' => array($service)));
    }
    ob_start();
    if (get_option(EWF_SETUP_THNAME . "_debug_mode", 'false') == 'true') {
        echo '<pre>';
        print_r($options);
        print_r($query);
        echo '<br/>Items:' . $items;
        echo '</pre>';
    }
    $position = 'right';
    $wp_query_portfolio_grid = new WP_Query($query);
    while ($wp_query_portfolio_grid->have_posts()) {
        $wp_query_portfolio_grid->the_post();
        global $post;
        $image_id = get_post_thumbnail_id();
        $image_preview_small = wp_get_attachment_image_src($image_id, 'ewf-portfolio-parallax');
        $image_preview_large = wp_get_attachment_image_src($image_id, 'large');
        if ($position == 'left') {
            $position = 'right';
        } else {
            $position = 'left';
        }
        $ewf_project_services = null;
        $ewf_project_terms = get_the_terms($post->ID, EWF_PROJECTS_TAX_SERVICES);
        // $ewf_project_meta = get_post_custom($post->ID);
        // $ewf_project_client = null;
        // if (!empty($ewf_project_meta['_ewf-project-client'])){
        // $ewf_project_client = $ewf_project_meta['_ewf-project-client'][0];
        // }
        // $ewf_project_url = null;
        // if (!empty($ewf_project_meta['_ewf-project-website'])){
        // $ewf_project_url = $ewf_project_meta['_ewf-project-website'][0];
        // }
        if (is_array($ewf_project_terms)) {
            foreach ($ewf_project_terms as $key => $service) {
                if ($ewf_project_services == null) {
                    // $ewf_project_services.= '<a href="'.get_term_link($service->slug, EWF_PROJECTS_TAX_SERVICES).'">'.$service->name.'</a>';
                    $ewf_project_services .= '<span>' . $service->name . '</span>';
                    break;
                    // Stop at the first category
                } else {
                    // $ewf_project_services.= ', <a href="'.get_term_link($service->slug, EWF_PROJECTS_TAX_SERVICES).'">'.$service->name.'</a>';
                    $ewf_project_services .= ', <span>' . $service->name . '</span>';
                }
            }
        }
        echo '<div class="fullwidth-section parallax portfolio-parallax" style="background-image:url(' . $image_preview_small[0] . ');">
				
				<div class="fullwidth-section-overlay"></div>
				
				<div class="fullwidth-section-content">
				
					<div class="ewf-row">
						<div class="ewf-span12">
							
							<div class="portfolio-item-description ' . $position . '">
								<h1>
									<strong>' . get_the_title() . '</strong>
								</h1>
								
								<p class="text-uppercase"><strong>' . $ewf_project_services . '</strong></p>
								
								<p>' . get_the_excerpt() . '</p>
								
								<a class="btn btn-white" href="' . get_permalink() . '">' . __('view project', 'bitpub') . '</a>
							</div><!-- end .portfolio-item-description -->
							
						</div><!-- end .span12 -->
					</div><!-- end .row -->
				
				</div><!-- end .fullwidth-section-content -->
				
            </div><!-- end .fullwidth-section-content -->';
    }
    // <p class="text-right">
    // <a href="'.get_permalink().'"><i class="ifc-fast_forward"></i> '.__('Read more', 'bitpub').'</a>
    // </p>
    // <a href="'.get_permalink().'">'.get_the_title().'</a>
    if ($nav) {
        echo '<div class="ewf-row">';
        echo ewf_sc_grid_navigation_pages(5, $wp_query_portfolio_grid);
        echo '</div>';
    }
    return '<div class="portfolio-parallax ' . $class_extra . '">' . ob_get_clean() . '</div>';
}