使用过滤器wp_trim_excerpt时删除_content中的链接

时间:2015-08-25 作者:Simon Hayter

我正在使用wp\\u trim\\u摘录,它工作得很好,但我想去掉该摘录中包含的链接(使用get\\u the\\u内容),我已经在网上查找并尝试了许多解决方案,以使其正常工作,希望有人能帮我找到正确的方向。

我的工作代码如下所示:

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 );
    }
    $text = preg_replace("/<img[^>]+\\>/i", "", $text); 
    $buttonmore = \'<p><a class="button right" href="\'. get_permalink($post->ID) . \'"> Read the full article...</a></p>\';
    return $text . " " . $buttonmore;
}
不工作(我添加了strip\\u标记(get\\u the\\u content())

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\', strip_tags(get_the_content()) );
        $text = substr( $content, 0, strpos( $content, \'</p>\' ) + 4 );
    }
    $text = preg_replace("/<img[^>]+\\>/i", "", $text); 
    $buttonmore = \'<p><a class="button right" href="\'. get_permalink($post->ID) . \'"> Read the full article...</a></p>\';
    return $text . " " . $buttonmore;
}

1 个回复
最合适的回答,由SO网友:vancoder 整理而成

添加另一个preg\\u replace。类似于:

$text = preg_replace(\'/<a href=\\"(.*?)\\">(.*?)<\\/a>/\', "", $text);

相关推荐

如何动态限制WordPress the_excerpt()

我正试图限制WordPress的帖子摘录,我也尝试了一些方法,但所有这些都不是我需要的东西,简而言之,我想限制帖子摘录的数量,我在任何地方都使用不同的数字。例如,我需要制作一些我使用的东西,如下所示:<?php the_excerpt(\'30\') ?>对于这部分代码,我想将我的摘录限制为30个字符,在另一个地方,我想使用不同的值,如:<?php the_excerpt(\'150\') ?>是在WordPress中吗?