删除了摘录中的第一个单词

时间:2016-09-16 16:51:39

标签: php wordpress add-filter

一直在寻找一种方法来删除wordpress生成的摘录中的第一个单词。不知何故,所有可能的在线解决方案都无效。

我有一个自定义的帖子类型存档页面,它显示所有事件。我正在使用Visual Composer来创建事件。所以基本上我要删除的文字是标题。

我在下面有这个代码,但它不能正常工作。

我从这个link得到了这个想法,并尝试了那里的解决方案,我没有更接近我想要的东西。

add_filter( 'wp_trim_excerpt', function ( $text )
{
// Make sure we have a text
if ( !$text )
    return $text;

$text               = ltrim( $text );
$text_as_array      = explode( ' ', $text );

// Make sure we have at least X amount of words as an array
if ( 10 > count( $text_as_array ) )
    return $text;

$text_array_to_keep = array_slice( $text_as_array, 2 );
$text_as_string     = implode( ' ', $text_array_to_keep );
$text               = $text_as_string;

return $text;
}):

2 个答案:

答案 0 :(得分:0)

做一些像这样简单的事情:

function removeFirstWord($text)
{
    return substr($text, strpos($text, " ") + 1);
}

这只会返回第一个空格后的所有内容。您还可以在其上添加修剪功能,以确保第一个字符不是空格。

答案 1 :(得分:0)

好的,我现在就开始工作了。

这是最终的代码。应该在循环内。

$excerpt = get_the_content();
$excerpt = preg_replace("~(?:\[/?)[^/\]]+/?\]~s", '', $excerpt);
$excerpt = wp_trim_words( $excerpt, 30, '...' );    
echo $excerpt;