如何将extract_more过滤器添加到这个摘录代码Wordpress中


How to add excerpt_more filter to this Excerpt code Wordpress

这是编辑摘录以仅显示内容的第一段的代码。然而,它在段落末尾没有"阅读更多"链接。

因此,我想知道如何将extract_more过滤器添加到该代码中?

add_filter( 'wp_trim_excerpt', 'my_custom_excerpt', 10, 2 );
function my_custom_excerpt($text, $raw_excerpt) {
    if( ! $raw_excerpt ) {
        $content = apply_filters( 'the_content', get_the_content() );
        $text = substr( $content, 0, strpos( $content, '</p>' ) + 4 );
    }
    return $text;
}

这就是我希望添加到上面代码中的代码。

function new_excerpt_more( $more ) {
    return ' <a class="read-more" href="'. get_permalink( get_the_ID() ) . '">' . __('Read more here.', 'your-text-domain') . '</a>';
}
add_filter( 'excerpt_more', 'new_excerpt_more' );

这样,你就可以用你喜欢的任何单词自定义"阅读更多"链接。

尝试以下代码:需要创建自定义wp_trim_excerpt筛选器。

if ( ! function_exists( 'custom_wp_trim_excerpt' ) )
{
    function custom_wp_trim_excerpt($excerpt) 
    {
        global $post;
        $raw_excerpt = $excerpt;
        if ( $excerpt == '' ) 
        {
            $excerpt = get_the_content('');
            $excerpt = strip_shortcodes( $excerpt );
            $excerpt = apply_filters('the_content', $excerpt);
            $excerpt = substr( $excerpt, 0, strpos( $excerpt, '</p>' ) + 4 );
            $excerpt_readmore = ' &raquo; <a href="'. esc_url( get_permalink() ) . '">Read More</a>';
            $excerpt_more = apply_filters('excerpt_more', ' ' . $excerpt_readmore);
            $pos = strrpos($excerpt, '</');
            if ($pos !== false)
                $excerpt = substr_replace($excerpt, $excerpt_readmore, $pos, 0);
            else
                $excerpt .= $excerpt_readmore;
                return $excerpt;
        }
        return apply_filters('custom_wp_trim_excerpt', $excerpt, $raw_excerpt);
    }
}
remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'custom_wp_trim_excerpt');