Ethos 1 - Recent Post Excerpts

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.

I would also like to align the image and the excerpt side by side instead of stacked vertically. Is that possible?

This is an automated message to notify you that your thread was posted in the wrong forum, and it has been moved to the correct place. A member of our team will be happy to reply just as soon as your thread is up. How support works.

For support, please post all questions in the Support Forum.

For peer to peer conversations with other Themeco customers about tips, customizations, or suggestions you are welcome to use the Conversation Forum (no official support provided here).

Design & Development, Marketing & Media, and Hosting & Optimization are for discussion with fellow Apex members about non Themeco related topics. Please keep this in mind in the future.

Thank-you!

Hi There,

Regretfully, the recent posts element/shortcode does not offer a read more function. And regretfully we can not provide support for modifying any Cornerstone element. That custom function you have is for X4 and may not work with X5 and PRO’s future release. I advice that you use a 3rd party plugin instead to output a very flexible recent post content. Something like the Display Posts Shortcode It does offer a lot of parameters. It may look very raw at first but that is one thing good about it, it is fully styleable (with css).

Thank you for understanding.