Forked from braddalton/Second Portfolio Page Template Crystal Theme Genesis.php
Created
October 26, 2013 02:19
-
-
Save jamiemitchell/7164577 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Template Name: Portsecond | |
// Force layout to full-width-content | |
add_filter('genesis_pre_get_option_site_layout', 'crystal_portsecond_layout'); | |
function crystal_portsecond_layout($layout) { | |
$layout = 'full-width-content'; | |
return $layout; | |
} | |
// Add .teaser class to every post, except first 2 | |
add_filter('post_class', 'portsecond_post_class'); | |
function portsecond_post_class( $classes ) { | |
$classes[] = 'portsecond'; | |
return $classes; | |
} | |
// Modify length of post excerpts | |
add_filter('excerpt_length', 'custom_excerpt_length'); | |
function custom_excerpt_length($length) { | |
return 15; // pull first 15 words | |
} | |
// Add "View project" link | |
add_filter('the_excerpt', 'child_homepage_excerpt_filter'); | |
function child_homepage_excerpt_filter( $text ) { | |
return sprintf( '%s<a href="%s" class="more-link">%s</a>', $text, get_permalink(), __('View Project', 'crystal') ); | |
} | |
// Remove post info and meta info | |
remove_action('genesis_after_post_content', 'genesis_post_meta'); | |
remove_action('genesis_before_post_content', 'genesis_post_info'); | |
// Move title above post image | |
remove_action('genesis_post_title', 'genesis_do_post_title'); | |
add_action('genesis_post_content', 'genesis_do_post_title', 9); | |
// Remove default content for this Page Template | |
remove_action('genesis_post_content', 'genesis_do_post_image'); | |
remove_action('genesis_post_content', 'genesis_do_post_content'); | |
// Add Featured Image for the portsecond posts in this Page Template | |
add_action('genesis_post_content', 'crystal_portsecond_do_post_image'); | |
function crystal_portsecond_do_post_image() { | |
$img = genesis_get_image( array( 'format' => 'html', 'size' => 'Portsecond Thumbnail', 'attr' => array( 'class' => 'alignnone post-image' ) ) ); | |
printf( '<a href="%s" title="%s">%s</a>', get_permalink(), the_title_attribute('echo=0'), $img ); | |
} | |
// Add Content for the portsecond posts in this Page Template | |
add_action('genesis_post_content', 'crystal_portsecond_do_post_content'); | |
function crystal_portsecond_do_post_content() { | |
if ( genesis_get_option('crystal_portsecond_content') == 'excerpts' ) { | |
the_excerpt(); | |
} else { | |
if ( genesis_get_option('crystal_portsecond_content_archive_limit') ) | |
the_content_limit( (int)genesis_get_option('crystal_portsecond_content_archive_limit'), __('View Project', 'crystal') ); | |
else | |
the_content(__('View Project', 'crystal')); | |
} | |
} | |
// Clear float using genesis_custom_loop() $loop_counter variable | |
// Outputs clearing div after every 4 posts | |
// $loop_counter is incremented after this function is run | |
add_action('genesis_after_post', 'portsecond_after_post'); | |
function portsecond_after_post() { | |
global $loop_counter; | |
if ( $loop_counter == 3 ) { | |
$loop_counter = -1; | |
echo '<div class="clear"></div>'; | |
} | |
} | |
// Remove standard loop | |
remove_action('genesis_loop', 'genesis_do_loop'); | |
// Add custom loop | |
add_action('genesis_loop', 'portsecond_loop'); | |
function portsecond_loop() { | |
$paged = get_query_var('paged') ? get_query_var('paged') : 1; | |
$include = genesis_get_option('crystal_portsecond_cat'); | |
$exclude = genesis_get_option('crystal_portsecond_cat_exclude') ? explode(',', str_replace(' ', '', genesis_get_option('crystal_portsecond_cat_exclude'))) : ''; | |
$cf = genesis_get_custom_field('query_args'); // Easter Egg | |
$args = array('cat' => $include, 'category__not_in' => $exclude, 'showposts' => genesis_get_option('crystal_portsecond_cat_num'), 'paged' => $paged); | |
$query_args = wp_parse_args($cf, $args); | |
genesis_custom_loop( $query_args ); | |
} | |
genesis(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment