Ковыряемся в the_excerpt

Категории: Как сделать?

Этот пост больше предназначен для тех, кто любит самостоятельно ковырять шаблоны для WordPress блога.

Функция the_excerpt() отвечает за вывод сокращенной версии поста, например сокращенный вывод постов, чаще всего настраивают на страницах архивов, категорий или тегов.

Изначально эта функция показывает первые 55 слов из записи, после чего пишет […] для дальнейшего прочтения записи, Вам необходимо щелкнуть на заголовке записи.

Довольно часто, возникает необходимость увеличить количество слов или уменьшить, а также убрать троеточие или кавычки, сделать это в принципе не сложно и сегодня я расскажу как именно это можно сделать.

Практически в любом случае, нужно просто добавить кусочек кода в файл functions.php в папке с шаблоном блога.

Регулируем количество слов:


В данном случае цифрой 20 задается количество слов, которое будет выводить функция the_excerpt().

Играем с троеточием:

Для блогов которые работают на WordPress > 2.9 код выглядит вот так:


Попробуйте изменить […..]

Для блогов на WordPress < 2.8 этот же код будет выглядеть вот так:

В данном случае функцией str_replace меняется […] на … собственно вместо обычного троеточия, можно поставить что угодно.

Как нам известно, функция эта выводит краткую версию поста, но не выводит ссылку типа «Продолжить чтение», для этого воспользуемся следующим хаком:

ID) . '">' . ' читать далее ..' . '';
}
add_filter('excerpt_more', 'new_excerpt_more');
?>

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

Комментарии: 24Напишите свой комментарий!

  1. karguine Написал(а):

    Что-то последний хак не работает. Остальные не проверял. Не меняется ничего после добавления этой функции.

  2. Dmitriy.Donchenko Написал(а):

    Для проверки вставил эту функцию в файл functions.php на блоге wp-guard.com посмотреть как оно работает можно здесь: http://wp-guard.com/tag/bezopasnost/

  3. blogineta Написал(а):

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

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

  4. Dmitriy.Donchenko Написал(а):

    Есть плагин http://wordpress.org/extend/plugins/advanced-exce… возможно поможет.

    Плагин который устанавливает эту систему комментирования синхронизирует комментарии из блога с комментариями на сервере.

  5. themebot Написал(а):

    Я пользуюсь excerpt editor, много настроек, можно каждой записи разные анонсы делать

  6. webronac Написал(а):

    Dmitriy.Donchenko, спасибо за ссылки- помогло.
    themebot . понимаете, лишний плагин- лишняя нагрузка. а она и так не маленькая. Зачем?..

  7. slot Написал(а):

    А как лучше делать вывод кратких обзоров? с ссылкой "Читать далее" или без нее?

  8. Dmitriy.Donchenko Написал(а):

    Лучше сделать так, как это будет лучше смотреться на Вашем ресурсе и будет удобнее Вам и посетителям.

  9. Apolya Написал(а):

    Ага-а то иногда такое вытворяют-даже страшно смотреть-нет посмотреть как лучше смотреться будет-хотят как лучше-получается как всегда…

  10. Dusha Написал(а):

    A подключить систему комментирования?

  11. trader Написал(а):

    читать далее мне больше нравится, под специфику надо смотреть

  12. Володя Написал(а):

    Меня хлебом не корми — дай только в шаблоне поковыряться…

  13. @cava150 Написал(а):

    Дмитрий, добрый день!
    А не легче использовать тег "more" и время не придйется тратить и уже все настроено?

  14. Donchenko Написал(а):

    Легче, а если в блоге уже есть 200 — 500 записей? Как быть тогда?

  15. d_ro Написал(а):

    Ой, спасиб.
    Я как раз разбиралась с этим вопросом

  16. darya Написал(а):

    Статья хорошая и содержательная! Автору респект!

  17. Алекс Написал(а):

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

  18. DeviceBox Написал(а):

    the_excerpt вообще убрал. Сделал такой же вывод в архивах, как и на главной. А то эти точки и отсутствие картинок как-то не очень…

  19. Alex Написал(а):

    У меня на блоге на главной выводятся только записи, без картинок!(( А я хочу чтобы были и картинки, можно как-то сделать, чтобы записи выводились вместе с картинками??? Причем такой прикол, что когда смотришь категории, там с картинками, а на главной просто записи!((

  20. Саша Написал(а):

    Спасибо! Действительно полезно..

  21. Fedor Написал(а):

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

  22. Свинг встречи Написал(а):

    Вот наконец то чтото новенькое. Сослуживцам подскажу пожалуй.

  23. Алена Соломко Написал(а):

    Я долго ковырялась в Интернет, пока до вашей статьи доковырялась)))) — случайно до вашей статьи! Пропишите ключевики и дайте второе название статье — ну, например, «Как вывести полную версию поста в категории» и т.п. я, жаль, искала в Chrome — а то бы скинула весь перечень, сейчас уже и не помню сколько вариаций на эту тему, а Google выдавал — все не то!

  24. Дмитрий Написал(а):

    Спасибо, долго маялся с нормальным выводом анонса, с этим треклятым the_excerpt. Картинки мне не нужно выводить, выводятся отдельно скриптом, в принципе устраивала просто разбивка на абзацы, и то морока для для не понимающего). Поставил плагин Advanced Excerpt на WP 3.0.2, теперь все работает. Этот пост правда нужно оптимизировать — отличный пост, найти трудно). Удачи во всем, тезка!!!!

Оставьте комментарий Ваш шанс быть услышанным!