Искал способ удалить первое слово в отрывке, сгенерированном WordPress. Каким-то образом все возможные решения онлайн не сработали.
У меня есть страница архива с пользовательским типом записи, где отображаются все события. Я использую Visual Composer для создания события. Так что в основном текст, который я хотел бы удалить, это заголовок.
У меня есть этот код ниже, но он не работает как следует.
Я понял из этого ссылка на сайт и попробовал там решения, которые я немного ближе к тому, что я хотел.
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;
}):
Просто сделайте что-нибудь простое, как это:
function removeFirstWord($text)
{
return substr($text, strpos($text, " ") + 1);
}
Это просто возвращает все после первого пробела. Вы также можете добавить функцию обрезки, чтобы первый символ не был пробелом.
Хорошо, теперь у меня все работает.
Вот окончательный код. Должно быть внутри петли.
$excerpt = get_the_content();
$excerpt = preg_replace("~(?:\[/?)[^/\]]+/?\]~s", '', $excerpt);
$excerpt = wp_trim_words( $excerpt, 30, '...' );
echo $excerpt;