Skip to content

Instantly share code, notes, and snippets.

@cdils
Last active April 17, 2023 20:13
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save cdils/4688612 to your computer and use it in GitHub Desktop.
Save cdils/4688612 to your computer and use it in GitHub Desktop.
This is code for a custom page template removing the standard Genesis loop and inserting a custom loop. Similar to https://gist.github.com/4684423.js, but without a grid loop.
<?php
/**
* Template Name: Testimonial Archives
* Description: Used as a page template to show page contents, followed by a loop through a CPT archive
*/
remove_action ('genesis_loop', 'genesis_do_loop'); // Remove the standard loop
add_action( 'genesis_loop', 'custom_do_loop' ); // Add custom loop
function custom_do_loop() {
// Intro Text (from page content)
echo '<div class="page hentry entry">';
echo '<h1 class="entry-title">'. get_the_title() .'</h1>';
echo '<div class="entry-content">' . get_the_content() ;
$args = array(
'post_type' => 'testimonials', // enter your custom post type
'orderby' => 'menu_order',
'order' => 'ASC',
'posts_per_page'=> '12', // overrides posts per page in theme settings
);
$loop = new WP_Query( $args );
if( $loop->have_posts() ):
while( $loop->have_posts() ): $loop->the_post(); global $post;
echo '<div id="testimonials">';
echo '<div class="one-fourth first">';
echo '<div class="testimonial-image">'. get_the_post_thumbnail( $id, array(150,150) ).'</div>';
echo '<cite>' . genesis_get_custom_field( '_cd_client_name' ) . '</cite>'; //retrieve custom field
echo '<br />' . genesis_get_custom_field( '_cd_client_title' ); //retrieve custom field
echo '</div>';
echo '<div class="three-fourths">';
echo '<h3>' . get_the_title() . '</h3>';
echo '<blockquote>' . get_the_content() . '</blockquote>';
echo '</div>';
echo '</div>';
endwhile;
endif;
// Outro Text (hard coded)
echo '<div class="call-to-action">My call to action text. <a href="">Contact me</a></div>';
echo '</div><!-- end .entry-content -->';
echo '</div><!-- end .page .hentry .entry -->';
}
/** Remove Post Info */
remove_action('genesis_before_post_content','genesis_post_info');
remove_action('genesis_after_post_content','genesis_post_meta');
genesis();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment