Skip to content

Instantly share code, notes, and snippets.

@billerickson
Last active October 2, 2015 20:08
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save billerickson/2311495 to your computer and use it in GitHub Desktop.
Save billerickson/2311495 to your computer and use it in GitHub Desktop.
Update snippet to include $content and $class parameters
<?php
/**
* Add Read More link to Display Posts Shortcode plugin
* @author Bill Erickson
* @link http://wordpress.org/extend/plugins/display-posts-shortcode/
*
* @param string $output the original markup for an individual post
* @param array $atts all the attributes passed to the shortcode
* @param string $image the image part of the output
* @param string $title the title part of the output
* @param string $date the date part of the output
* @param string $excerpt the excerpt part of the output
* @param string $inner_wrapper what html element to wrap each post in (default is li)
* @return string $output the modified markup for an individual post
*/
add_filter( 'display_posts_shortcode_output', 'be_display_posts_read_more', 10, 9 );
function be_display_posts_read_more( $output, $atts, $image, $title, $date, $excerpt, $inner_wrapper, $content, $class ) {
// First check if an excerpt is included by looking at the shortcode $atts
if ( $atts['include_excerpt'] )
// Now let's rebuild the excerpt to include read more
$excerpt = '<span class="excerpt">' . get_the_excerpt() . '<br /><br /><a class="more-link" href="' . get_permalink() . '">Read More</a></span>';
else $excerpt = '';
// Now let's rebuild the output. Only the excerpt changed so we're using the original $image, $title, and $date
$output = '<' . $inner_wrapper . ' class="' . implode( ' ', $class ) . '">' . $image . $title . $date . $excerpt . $content . '</' . $inner_wrapper . '>';
// Finally we'll return the modified output
return $output;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment