I have the following code in my child theme’s functions.php
function x_shortcode_recent_posts_v2code( $atts ) {
extract( shortcode_atts( array(
‘id’ => ‘’,
‘class’ => ‘’,
‘style’ => ‘’,
‘type’ => ‘’,
‘count’ => ‘’,
‘category’ => ‘’,
‘enable_excerpt’ => ‘’,
‘offset’ => ‘’,
‘orientation’ => ‘’,
‘no_image’ => ‘’,
‘fade’ => ‘’
), $atts ) );
$id = ( $id != ‘’ ) ? ‘id="’ . esc_attr( $id ) . ‘"’ : ‘’;
$class = ( $class != ‘’ ) ? ‘x-recent-posts cf ’ . esc_attr( $class ) : ‘x-recent-posts cf’;
$style = ( $style != ‘’ ) ? ‘style="’ . $style . ‘"’ : ‘’;
$type = ( $type == ‘portfolio’ ) ? ‘x-portfolio’ : ‘post’;
$count = ( $count != ‘’ ) ? $count : 4;
$category = ( $category != ‘’ ) ? $category : ‘’;
$category_type = ( $type == ‘post’ ) ? ‘category_name’ : ‘portfolio-category’;
$offset = ( $offset != ‘’ ) ? $offset : 0;
$orientation = ( $orientation != ‘’ ) ? ’ ’ . $orientation : ’ horizontal’;
$no_image = ( $no_image == ‘true’ ) ? $no_image : ‘’;
$fade = ( $fade == ‘true’ ) ? $fade : ‘false’;
$enable_excerpt = ( $enable_excerpt == ‘true’ ) ? true : false;
$output = “<div {$id} class=”{$class}{$orientation}" {$style} data-fade="{$fade}">";
$q = new WP_Query( array(
'orderby' => 'date',
'post_type' => "{$type}",
'posts_per_page' => "{$count}",
'offset' => "{$offset}",
"{$category_type}" => "{$category}"
) );
if ( $q->have_posts() ) : while ( $q->have_posts() ) : $q->the_post();
if ( $no_image == 'true' ) {
$image_output = '';
$image_output_class = 'no-image';
} else {
$image_output = '<div class="x-recent-posts-img">' . get_the_post_thumbnail( get_the_ID(), 'entry-' . get_theme_mod( 'x_stack' ) . '-cropped', NULL ) . '</div>';
$image_output_class = 'with-image';
}
$output .= '<a class="x-recent-post' . $count . ' ' . $image_output_class . '" href="' . get_permalink( get_the_ID() ) . '" title="' . esc_attr( sprintf( __( 'Permalink to: "%s"', '__x__' ), the_title_attribute( 'echo=0' ) ) ) . '">'
. '<article id="post-' . get_the_ID() . '" class="' . implode( ' ', get_post_class() ) . '">'
. '<div class="entry-wrap">'
. $image_output
. '<div class="x-recent-posts-content">'
. '<h3 class="h-recent-posts">' . get_the_title() . '</h3>'
. '<span class="x-recent-posts-date">' . get_the_date() . '</span>'
. ( $enable_excerpt ? '<span class="x-recent-posts-excerpt">' . strip_tags( get_the_excerpt() ) . '</span>' : '' )
. '</div>'
. '</div>'
. '</article>'
. '</a>';
endwhile; endif; wp_reset_postdata();
$output .= ‘’;
return $output;
}
add_action(‘wp_head’, ‘change_recent_posts_to_v2’);
function change_recent_posts_to_v2() {
remove_shortcode( ‘recent_posts’ );
add_shortcode( ‘recent_posts’, ‘x_shortcode_recent_posts_v2code’ );
}
// Excerpt Custom Length
function custom_excerpt_length( ) {
return 150;
}
add_filter( ‘excerpt_length’, ‘custom_excerpt_length’, 999 );
I then have the following shortcode on my page
[recent_posts type=“post” enable_excerpt=“true” count=“3” orientation=“vertical”]
The problem is I seem to have a large gap between the bottom of the featured image and the top of the excerpt. This happens in both the vertical and horizontal alignments.