如何隐藏wordpress摘录中的oembed链接?

时间:2014-02-24 21:48:20

标签: wordpress

the_excerpt()函数显示所有oembeded链接。

在这种情况下是关于YouTube视频:http://i.stack.imgur.com/MP3EF.png

3 个答案:

答案 0 :(得分:1)

将以下代码添加到functions.php文件中(如果您中断页面,请先备份文件):

function remove_links($text) 
{
    if ('' == $text ) 
    {
        $pattern = '~http://[^\s]*~i'; //what we want to remove, the http link
        $text = get_the_content('');
        $text = preg_replace($pattern, '', $text);
    }
    return $text;
}
remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'remove_links');

这将覆盖默认的摘录()函数并查找链接并将其删除。

答案 1 :(得分:1)

在@ Howli的答案的基础上,这是一个修改版本,也修剪了摘录并应用了适当的过滤器:

function tect_excerpt( $text ) {
    if ( '' == $text ) {
        $text = get_the_content('');
        $text = strip_shortcodes( $text );

        $text = preg_replace( '~http(s)?://[^\s]*~i', '', $text ); // removes URLs

        $text = apply_filters( 'the_content', $text );
        $text = str_replace(']]>', ']]>', $text);
        $excerpt_length = apply_filters( 'excerpt_length', 20 ); // default: 55
        $excerpt_more = apply_filters( 'excerpt_more', ' ' . '[…]' );
        $text = wp_trim_words( $text, $excerpt_length, $excerpt_more );
    }
    return $text;
}

remove_filter( 'get_the_excerpt', 'wp_trim_excerpt' );
add_filter( 'get_the_excerpt', 'tect_excerpt');

答案 2 :(得分:0)

您可以使用public function store() { if(! auth()->attempt(request(['email','password']))) { return back(); } return view('/posts'); } 函数:

wp_filter_nohtml_kses

这将删除echo wp_filter_nohtml_kses(get_the_excerpt()); <a href="http://somelink.com">的开始和结束标签