Fatal Error After Update Child theme

Hi!
how can i fix this error?

Help me please :blush:

> **Fatal error** : Uncaught Error: Call to undefined function cs_get_raw_excerpt() in /web/htdocs/www.labottegalab.com/home/wp-content/themes/x-child/functions.php:96 Stack trace: #0 /web/htdocs/www.labottegalab.com/home/wp-includes/shortcodes.php(343): x_shortcode_recent_posts_v2(Array, '', 'x_recent_posts') #1 [internal function]: do_shortcode_tag(Array) #2 /web/htdocs/www.labottegalab.com/home/wp-includes/shortcodes.php(218): preg_replace_callback('/\\[(\\[?)(x_rece...', 'do_shortcode_ta...', '\n<div class="e1...') #3 /web/htdocs/www.labottegalab.com/home/wp-includes/class-wp-hook.php(292): do_shortcode('\n<div class="e1...') #4 /web/htdocs/www.labottegalab.com/home/wp-includes/plugin.php(212): WP_Hook->apply_filters('\n<div class="e1...', Array) #5 /web/htdocs/www.labottegalab.com/home/wp-content/themes/pro/cornerstone/includes/classes/dynamic-content/class-dynamic-content.php(113): apply_filters('cs_dynamic_cont...', '\n<div class="e1...') #6 /web/htdocs/www.labottegalab.com/home/wp-includes/class-wp-hook.php(292): Corners in **/web/htdocs/www.labottegalab.com/home/wp-content/themes/x-child/functions.php** on line **96**

I have deleted this.
But is that right?
what should i replace it with?

// 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';
  }

$cat = get_the_category();
$category = $cat[0]->name;

  $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">'
    				. '<span style="margin-bottom: 10px;" class="x-recent-posts-date">' . $category . ' </span>'
                   //. '<span style="margin-bottom: 10px;" class="x-recent-posts-date">' . get_the_date() . ' ' . $category . ' </span>'
                   . '<h3 class="h-recent-posts">' . get_the_title() . '</h3>'
                    . $excerpt
                 . '</div>'
               . '</div>'
             . '</article>'
           . '</a>';

endwhile; endif; wp_reset_postdata();

$output .= ‘’;

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’ );
}

Hey @fra_fantasy,

You just need to update a function in your child theme’s functions.php file. Perhaps this thread can help you:

Kindly let us know how it goes.

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