Иногда встречаются очень красивые темы оформления для 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 равно 101 символу,
- Уведомление из пенсионного фонда об излишне уплачен… // $thelength = 54
- Уведомление из пенсион… // $thelength = 54
Как вы уже догадались, за выводимое количество символов названия отвечает переменная $thelength.
ололо
utf-8 похоронит этот код 🙂
А использование mb_strlen() или strlen(utf8_decode($str)) нас спасет? 🙂
На самом деле нас спасет mb_substr(). 🙂
Антон, спасибо, код поправил.
Можно ли как-нибудь обрезать не конечные слова тайтла, а с определенной длины. Допустим есть название записи “Читать обзоh Ноутбука Asus 1111” вот собственно вырезать именно производителя и модель ноутбука надо. Т.е оставлять в тайтле, а «Читать обхор ноутбука» полностью скрывать?