Получайте новые записи в блоге через RSS RSS
20 августа 2010 | WordPress

Как обрезать название поста в WordPress с помощью PHP

Иногда встречаются очень красивые темы оформления для WordPress, не предусматривающие возможности длинных названий постов. Причем для английского языка они более-менее подходят, потому что там попроще уложится в несколько слов.

Для того, чтобы укоротить название статьи, есть несколько плагинов, но они будут обрабатывать код на всем сайте. Если же нужно сделать заглавие короче только на главной странице, то можно использовать следующий код:

1
2
3
4
5
6
7
8
9
<a href="<?php the_permalink() ?>">
< ?php
$thetitle = $post->post_title; /* также можно использовать get_the_title() */
$getlength = mb_strlen($thetitle);
$thelength = 25;
echo mb_substr($thetitle, 0, $thelength);
if ($getlength > $thelength) echo "...";
?>
</a>?

Откройте для редактирования нужный файл (index.php, single.php, archive.php), и замените вывод the_title на вышеприведенный код.

Вот так это выглядит на примере:

Как вы уже догадались, за выводимое количество символов названия отвечает переменная $thelength.


Заметки по теме:

комментария 4

  1. Антон Молодой (20 августа 2010, 21:44)
  2. ололо
    utf-8 похоронит этот код 🙂

  3. Владимир Лапшин (20 августа 2010, 21:53)
  4. А использование mb_strlen() или strlen(utf8_decode($str)) нас спасет? 🙂

  5. Владимир Лапшин (20 августа 2010, 22:12)
  6. На самом деле нас спасет mb_substr(). 🙂
    Антон, спасибо, код поправил.

  7. Nick (25 октября 2012, 15:22)
  8. Можно ли как-нибудь обрезать не конечные слова тайтла, а с определенной длины. Допустим есть название записи “Читать обзоh Ноутбука Asus 1111” вот собственно вырезать именно производителя и модель ноутбука надо. Т.е оставлять в тайтле, а «Читать обхор ноутбука» полностью скрывать?

Напишите комментарий