У меня есть код WordPress get_the_content (), как вы можете видеть ниже. Я хочу заставить код сделать следующее:
Я добавил этот код в мой home.php:
<?php
$content = get_the_content('Read more');
$content = str_replace(' '," ", get_the_content());
$content = preg_replace( '/\s+/', ' ', $content );
echo $content;
?>
Это работает, но я хочу отображать только ограниченное количество слов сейчас. Все решения, такие как $ char_limit и wp_trim_words (), не являются решениями, которые я ищу, потому что они портят сообщения в блоге.
Что я могу сделать?
Используйте эту удобную служебную функцию для ограничения количества слов по отношению к словам, описанным здесь Получить первые 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(' '," ", $text));
}
Передайте значения как
$content = get_the_content('Read more');
print_r(truncate($content, 180));
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); ?>