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>'; }