Как обрезать длинное название поста до нужного количества символов

Как обрезать длинное название поста до нужного количества символов | n-wp.ru Настройки

Как обрезать длинное название поста до нужного количества символов

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

1. Первым делом для решения этой задачи создадим специальный фильтр, который берет название поста или страницы, считает в нем символы, и после нужного количества обрезает его. Откроем файл functions.php, и добавим в него такой код:

 
function short_title($char) {
         $title = get_the_title($post->ID);
         $title = substr($title,0,$char);
         echo $title;
}

2. После этого остается заменить вывод названия постов с помощью функции

</pre>
<p> новой функцией </p>
<pre>

, где 50 — это количество символов, которым измеряется новый заголовок.
Не так уж и сложно, правда?
P.S. Профессионалы подсказывают, что в коде лучше использовать не subdts, а mb_substr.

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

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

  1. ct

    в ф-ции необходимо еще объявить глобальную переменную $post или убрать $post->ID
    сейчас работает потому-что внутри the_loop находится

    ну и да, мб_субстр предпочтительней, ибо будут ломаться буквы иногда

    Ответить
  2. Grawl

    Я бы лучше сверстал так, чтобы длинные заголовки хорошо смотрелись с переносом строки. Иначе зачем вообще длинные заголовки писать?
    Хотя, есть один вариант применения этого — если хочется при выводе нескольких записей однострочные заголовки, а внутри записей уже не экономить пространство.

    Ответить
    1. Совершенно верно. Или же выводить заголовки постов в сайдбаре с ограниченной шириной.

      Ответить
      1. Grawl

        Точно, сайдбар же… Хорошо. Добавь вывод из этих двух комментариев в запись тогда уж, наверное.

        Ответить
  3. katherine

    И тут тоже код пропал :( У вас на всем блоге вместо кода выводится строка

    <pre>
    Ответить
  4. Михаил

    А как при этом ссылку сохранить? Если заголовок является ссылкой на полную статью, при обрезке заголовка ссылка пропадает.
    Как бы сохранить ссылку?

    Ответить