Форматирование в короткой новости Вордпресса

Внезапно столкнулся с тем, что моя тема бьет все форматирование короткой новости. К счастью, решение нагуглилось довольно быстро.

В functions.php вставляем
function improved_trim_excerpt($text) {
global $post;
if ( '' == $text ) {
$text = get_the_content('');
$text = apply_filters('the_content', $text);
$text = str_replace(']]>', ']]>', $text);
$text = preg_replace('@<script[^>]*?>.*?</script>@si', '', $text);
$text = strip_tags($text, '<p>,<br>,<h2>,<h1>,<em>,<strong>,<a>');
$excerpt_length = 4500;
$words = explode(' ', $text, $excerpt_length + 1);
if (count($words)> $excerpt_length) {
array_pop($words);
array_push($words, ' ...');
$text = implode(' ', $words);
}
}
return $text;
}

remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'improved_trim_excerpt');

Думаю тут все понятно, обращаем внимание на

  1. $excerpt_length = 4500 - длина текста;
  2. Строчка $text = strip_tags отвечает за то, какие теги останутся в короткой новости;
  3. array_push($words, ' ...'); - это то, что будет стоять в конце перед ссылкой "Читать дальше". В данном случае - многоточие.

Добавить комментарий