I’ve implemented Classic Recent Posts on my homepage but despite adding some code to my child functions file to include the excerpt, nothing has changed.
How do I increase the size of the images and add the excerpt?
Thanks in advance.
I’ve implemented Classic Recent Posts on my homepage but despite adding some code to my child functions file to include the excerpt, nothing has changed.
How do I increase the size of the images and add the excerpt?
Thanks in advance.
Hi There,
Thanks for writing in!
Please make sure you have the code matching with the below code.
// Displaying Excerpt in Recent Posts
// =============================================================================
function x_shortcode_recent_posts_v2( $atts ) {
extract( shortcode_atts( array(
'id' => '',
'class' => '',
'style' => '',
'type' => 'post',
'count' => '',
'category' => '',
'offset' => '',
'orientation' => '',
'show_excerpt' => 'true',
'no_sticky' => '',
'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';
$show_excerpt = ( $show_excerpt == 'true' );
$no_sticky = ( $no_sticky == 'true' );
$no_image = ( $no_image == 'true' ) ? $no_image : '';
$fade = ( $fade == 'true' ) ? $fade : '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}",
'ignore_sticky_posts' => $no_sticky
) );
if ( $q->have_posts() ) : while ( $q->have_posts() ) : $q->the_post();
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';
}
$excerpt = ( $show_excerpt ) ? '<div class="x-recent-posts-excerpt"><p>' . preg_replace('/<a.*?more-link.*?<\/a>/', '', cs_get_raw_excerpt() ) . '</p></div>' : '';
$output .= '<a class="x-recent-post' . $count . ' ' . $image_output_class . '" href="' . get_permalink( get_the_ID() ) . '" title="' . esc_attr( sprintf( csi18n('shortcodes.recent-posts-permalink'), 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>'
. $excerpt
. '</div>'
. '</div>'
. '</article>'
. '</a>';
endwhile; endif; wp_reset_postdata();
$output .= '</div>';
return $output;
}
add_filter('wp_head', 'custom_recent_posts');
function custom_recent_posts() {
remove_shortcode( 'x_recent_posts' );
remove_shortcode( 'recent_posts' );
add_shortcode( 'x_recent_posts', 'x_shortcode_recent_posts_v2' );
add_shortcode( 'recent_posts', 'x_shortcode_recent_posts_v2' );
}
If you have the exact code and still have the issue, please send us your login details and FTP details in a secure note so that we can have a look.
Regarding the image size it depends on the size of the post and the number of post you have selected in row.
Thanks
This is excellent - can you reduce the amount of excerpt displayed?
Yes, you can add this custom PHP code snippet to functions.php file in your child theme directory:
// Excerpt Custom Length
function custom_excerpt_length( ) {
return 20;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
This will render the first 20 words into the excerpt.
Thanks.
Perfect thank you!
You’re most welcome!
OK, that’s included the excerpt, which is great, thank you. However I need to change the thumbnail size. Currently it is letter-box shaped and I would like it to be closer to 4:3.
Please advise, thanks.
Hey @demonboy,
You already have some customization for that already. See https://youtu.be/-c03tqgeCfA
You have this code in your Global CSS:
.x-recent-posts .x-recent-posts-img {
position: relative;
padding-bottom: 93px;
}
Adjust the bottom padding to achieve the 4:3 ratio.
Thanks.
Of course! I think that’s left-over code from a time gone past 
Thanks for this.
You’re welcome!
This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.