Skip to content

Instantly share code, notes, and snippets.

@reediredale
Created June 28, 2012 04:20
Show Gist options
  • Save reediredale/3009052 to your computer and use it in GitHub Desktop.
Save reediredale/3009052 to your computer and use it in GitHub Desktop.
WordPress Portfolio Custom Post Type Filtering
<?php
// get portfolio
$args = array( 'post_type' => 'portfolio', 'posts_per_page' => 100, 'orderby' => 'title', 'order' => 'asc' );
$loop = new WP_Query( $args );
$port = array();
while ( $loop->have_posts() ) : $loop->the_post();
$idx = get_the_ID();
$year_completed = get_post_meta($idx, 'year_completed', true);
$website_addr = get_post_meta($idx, 'website_address', true);
$thumb = get_the_post_thumbnail($idx, 'thumbnail'); //250x200 - featured image
$title = get_the_title();
$excerpt = get_the_excerpt();
$content = get_the_content();
//get 'Solutions' terms
$terms = get_the_terms($idx, 'Solutions');
$terms_string = '';
//build up comma delimited string
foreach($terms as $t){
$terms_string .= $t->slug . ' ';
}
$port[] = array(
'id' => $idx,
'year_completed' => $year_completed,
'website' => $website_addr,
'thumb' => $thumb,
'title' => $title,
'content' => $content,
'excerpt' => $excerpt,
'terms' => $terms,
'terms_string' =>$terms_string, //classifications (comma delimited slugs)
'permalink' => get_permalink(),
);
endwhile;
$terms = get_terms('Solutions');
$filters = '<section id="options" class="clearfix">
<ul id="filters" class="option-set floated clearfix">
<li><a href="#filter" data-filter="*" class="selected">show all</a></li>';
foreach($terms as $t){
$filters .= '<li><a href="#filter" data-filter=".' . $t->slug . '">' . $t->name . '</a></li>';// $t->count
}
$filters .= '</ul></section>';
?>
<!-- add this inside entry-content -->
<?php echo $filters; ?>
<div id="portfolio">
<!-- isotope -->
<ul class="thumbnails isotope">
<?php foreach($port as $p){ ?>
<li class="span3 element <?php echo $p['terms_string']; ?>">
<div class="thumbnail">
<?php echo $p['thumb']; ?>
<div class="caption">
<h5><a href="<?php echo $p['permalink']; ?>"><?php echo $p['title']; ?></a></h5>
</div><!-- end caption -->
</div><!-- end thumbnail -->
</li>
<? } //end foreach ?>
</ul>
</div><!-- end #portfolio -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment