Как получить ограничение слова get_the_content

У меня есть код WordPress get_the_content (), как вы можете видеть ниже. Я хочу заставить код сделать следующее:

  • Не отображать пустые теги как nbsp; (работает сейчас)
  • Показывать только ограниченное количество слов (не знаю как)

Я добавил этот код в мой home.php:

<?php
$content = get_the_content('Read more');
$content = str_replace('&nbsp;'," ", get_the_content());
$content = preg_replace( '/\s+/', ' ', $content );
echo $content;
?>

Это работает, но я хочу отображать только ограниченное количество слов сейчас. Все решения, такие как $ char_limit и wp_trim_words (), не являются решениями, которые я ищу, потому что они портят сообщения в блоге.

Что я могу сделать?

1

Решение

Используйте эту удобную служебную функцию для ограничения количества слов по отношению к словам, описанным здесь Получить первые 100 символов из строки, соблюдая полные слова

function truncate($text, $length) {
$length = abs((int)$length);
if(strlen($text) > $length) {
$text = preg_replace("/^(.{1,$length})(\s.*|$)/s", '\\1...', $text);
}
return(str_replace('&nbsp;'," ", $text));
}

Передайте значения как

$content = get_the_content('Read more');
print_r(truncate($content, 180));
0

Другие решения

function limitText($text, $limit)
{
$count = strlen($text);
if ($count >= $limit) {
$text = substr($text, 0, strrpos(substr($text, 0, $limit), ' ')) . '...';

return $text;
} else {
return $text;
}
}

И эхо

 <?= limitText(get_the_content(), 30); ?>
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector