Adding excerpt to recent posts

Hey there,

since the last update of X theme I was able to add excerpts to recent posts on my home page (https://www.adsventure.de/).

I was using this method here: https://theme.co/apex/forums/topic/adding-excerpt-to-recent-posts/

But now, this doesnt work anymore. Is there any bug fix for that? :slight_smile:

Many thanks,

Hello There,

Thanks for writing in! To resolve your issue, can you please post the contents of your child theme’s functions.php in your next reply so that we can examine the code that you are using?

Thank you in advance.

Sure, here it is:

function x_shortcode_recent_posts_v2code( $atts ) {
extract( shortcode_atts( array(
‘id’ => ‘’,
‘class’ => ‘’,
‘style’ => ‘’,
‘type’ => ‘post’,
‘count’ => ‘’,
‘category’ => ‘’,
‘enable_excerpt’ => ‘’,
‘offset’ => ‘’,
‘orientation’ => ‘’,
‘no_image’ => ‘’,
‘fade’ => ‘’
), $atts, ‘x_recent_posts’ ) );

$allowed_post_types = apply_filters( ‘cs_recent_posts_post_types’, array( ‘post’ => ‘post’ ) );
$type = ( isset( $allowed_post_types[$type] ) ) ? $allowed_post_types[$type] : ‘post’;

$id = ( $id != ‘’ ) ? ‘id="’ . esc_attr( $id ) . ‘"’ : ‘’;
$class = ( $class != ‘’ ) ? ‘x-recent-posts cf’ . esc_attr( $class ) : ‘x-recent-posts cf’;
$style = ( $style != ‘’ ) ? ‘style="’ . $style . ‘"’ : ‘’;
$count = ( $count != ‘’ ) ? $count : 3;
$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;

$js_params = array(
‘fade’ => ( $fade == ‘true’ )
);

$data = cs_generate_data_attributes( ‘recent_posts’, $js_params );

$output = “<div {$id} class=”{$class} {$orientation}" {$style} {$data} 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();
  $content_excerpt = get_the_excerpt();
  if ( $no_image == 'true' ) {
    $image_output       = '';
    $image_output_class = 'no-image';
  } else {
    $image              = wp_get_attachment_image_src( get_post_thumbnail_id(), 'entry-cropped' );
    $bg_image           = ( $image[0] != '' ) ? ' style="background-image: url(' . $image[0] . ');"' : '';
    $image_output       = '<div class="x-recent-posts-img"' . $bg_image . '></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"', csl18n() ), 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($content_excerpt ) . '</span>' : '' )
                 . '</div>'
               . '</div>'
             . '</article>'
           . '</a>';

endwhile; endif; wp_reset_postdata();

$output .= ‘’;

return $output;
}

Hi There,

Please find this function: csl18n()

And change to this: 'cornerstone'

hey :slight_smile:
changed it to this, but unfortunately it doesnt work:

$output .= ‘<a class="x-recent-post’ . $count . ’ ’ . $image_output_class . ‘" href="’ . get_permalink( get_the_ID() ) . ‘" title="’ . esc_attr( sprintf( __( ‘Permalink to: “%s”’, ‘cornerstone’ ), the_title_attribute( ‘echo=0’ ) ) ) . ‘">’

Hi There,

Regretfully, that custom function does work on the X v5 and Pro. And regretfully we can not provide support for modifying any Cornerstone element. I advice that you use a 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).

Sample shortcode that you can use if you installed that plugin.

[display-posts post_type="post" posts_per_page="4" include_excerpt="true" excerpt_length="20" image_size="thumbnail" include_date="true" date_format="F j, Y" excerpt_more="Continue Reading" excerpt_more_link="true" wrapper="ul" wrapper_class="my-recent-posts x-block-grid four-up"]

Thanks,

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.