Те, кто создает или правит шаблоны для WordPress знают, что функция the_content в WordPress выводит все содержимое записи или страницы.

Иногда, например, при выводе записей на главной странице, нужно вывести не всю запись целиком, а лишь какую-то ее часть. Нужно поставить ограничение для функции the_content.

Но, проблема в том, что по умолчанию в WordPress такой возможности нет.

Можно, конечно, воспользоваться функцией the_expert, но здесь другая проблема, она обрезает все изображения и теги, остается только текст.

Как быть?

Хочу поделиться решением, которое нашел на одном западном сайте.

http://bavotasan.com/2009/limiting-the-number-of-words-in-your-excerpt-or-content-in-wordpress/

В общем, вот, что нужно сделать.

Шаг 1. В файле functions.php нужно добавить следующую функцию:

function content($limit) {
  $content = explode(' ', get_the_content(), $limit);
  if (count($content)>=$limit) {
    array_pop($content);
    $content = implode(" ",$content).'...';
  } else {
    $content = implode(" ",$content);
  }           
  $content = preg_replace('/\[.+\]/','', $content);
  $content = apply_filters('the_content', $content);
  $content = str_replace(']]>', ']]>', $content);
  return $content;
}

Шаг 2. В том месте шаблона, где нужно вывести обрезанный the_content, нужно добавить такую строку кода:

echo content(80);

здесь 80 – это количество символов, которые должны выводиться.

Это нужно написать вместо функции

the_content();

Давно мучился с этой проблемой, наконец, удалось решить. Спасибо  сайту bavotasan.com.

1) Есть желание обучаться WordPress по моим видеокурсам?

Подробнее здесь.

2) Нет желания разбираться в «технической рутине» WordPress?

Поручите работы мне. Подробнее об услуге.