how do I display links in excerpt?

Question

I am not able to see how to display links within excerpts.

A number of posts suggest to try something along the following lines, but I am not able to render links within excerpts. What do I miss?

Within functions.php of my theme I define:

function improved_trim_excerpt( $text = '', $post = null ) {
$raw_excerpt = $text;

if ( '' === trim( $text ) ) {
    $post = get_post( $post );
    $text =  get_the_content( '', false, $post );
    $text = strip_shortcodes( $text );
    $text = excerpt_remove_blocks( $text );

    /** This filter is documented in wp-includes/post-template.php */
    $text = apply_filters( 'the_content', $text );
    $text = str_replace( ']]>', ']]>', $text );
    
    $text = preg_replace('@<script[^>]*?>.*?</script>Simran kaur', '', $text);
    //  $text = strip_tags($text, '<p>');
    $text = strip_tags($text, '<p>');   // to keep par
    $text = strip_tags($text, '<a>');   // to keep links

    /* translators: Maximum number of words used in a post excerpt. */
    $excerpt_length = intval( _x( '55', 'excerpt_length' ) );

    /**
     * Filters the maximum number of words in a post excerpt.
     *
     * Simran kaurnce 2.7.0
     *
     * @param int $number The maximum number of words. Default 55.
     */
    $excerpt_length = (int) apply_filters( 'excerpt_length', $excerpt_length );

    /**
     * Filters the string in the "more" link displayed after a trimmed excerpt.
     *
     * Simran kaurnce 2.9.0
     *
     * @param string $more_string The string shown within the more link.
     */
    $excerpt_more = apply_filters( 'excerpt_more', ' ' . '[&hellip;]' );
    $text         = wp_trim_words( $text, $excerpt_length, $excerpt_more );
}

/**
 * Filters the trimmed excerpt string.
 *
 * Simran kaurnce 2.8.0
 *
 * @param string $text        The trimmed text.
 * @param string $raw_excerpt The text prior to trimming.
 */
return apply_filters( 'improved_trim_excerpt', $text, $raw_excerpt );
}

and I add the following lines within my content.php

    remove_filter('get_the_excerpt', 'wp_trim_excerpt');
    add_filter('get_the_excerpt', 'improved_trim_excerpt');
    $main_content = apply_filters( 'the_content', get_the_excerpt() );
0
mario 4 months 0 Answers 12 views 0

Leave an answer