Recent post Excerpts

Hello,

Before I use this code below :

function x_shortcode_recent_posts_v2code( $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>'
                    . $excerpt
                 . '</div>'
               . '</div>'
             . '</article>'
           . '</a>';

endwhile; endif; wp_reset_postdata();

$output .= '</div>';

return $output;
}

Since a recent update of Pro (4.2.1), this code does not work.

I found these posts:

x_shortcode_recent_posts_v2code
(probably more recent than my version in july)

x_shortcode_recent_posts_v2

But neither of the two works.

Can you help me please?

Hi @cpennetier,

This happens because cs_get_raw_excerpt was removed as we didn’t use it anywhere in the theme anymore after the new posts elements were added. You can replace cs_get_raw_excerpt with cs_get_excerpt_for_social in the code and it should start working again.

Hi Alexander,
Sorry but cs_get_excerpt_for_social don’t change anything :frowning:

Another idea? Do you access to my code?
Thanks and have a good day.

Hi @cpennetier,

Can you please provide login credentials for your site in a secure note to examine it further, including:

– WordPress Site URL & Login URL
– WordPress Admin username/password
– FTP/CPanel to access the files

To create a secure note, click the key icon underneath any of your posts.

Thanks

Hey @cpennetier,

The code is not working because you didn’t copy the complete code in the other thread.

Once that’s added, it should work.

Please note that we do not provide support for custom codes even if we have given them. They only serve as a guide and should be integrated and managed by a developer.

Also, we have the Posts Element now so the recent post customization is no longer necessary. I’d recommend you use the Posts Element to avoid conflicts or the custom code stopping from working in the future.

Hope that helps and thank you for understanding.

YOU ARE MAR-VE-LLOUS… i like so much your work!
thanks

Hi @cpennetier,

Glad that we are able to help you.

Thanks

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