- Тег «Далі»
- Застосування: функція the_content ()
- Цитата
- Власна функція, обрізати вміст поста до певної кількості символів
- Миша Рудрастих
Якщо ви ніяк не можете розібратися, як зробити так, щоб на головній і в рубриках виводилося тільки початок публікації з посиланням «Читати далі» (або і зовсім який-небудь унікальний текст), то цей пост спеціально для вас.
Ні в одному з нижчеперелічених способів плагінів нам не буде потрібно.
Тег «Далі»
Спочатку розберемо найпростіший і часто використовується спосіб. Працює практично для будь-яких тем WordPress.
Хороший цей спосіб тим, що ви зможете обрізати вміст поста в будь-якому місці, в якому захочете. Для цього потрібно:
- Перейти на сторінку редагування поста.
- Поставити курсор в те місце в тексті, в якому ви хочете його обрізати і натиснути кнопку в редакторі Вставити тег «Далі» або кнопку more - в залежності від того, яким редактором ви користуєтеся (Візуальним або HTML).
- Оновити пост.
Записав відео для повної наочності:
Застосування: функція the_content ()
Цей спосіб повністю реалізує себе, якщо для виведення анонса постів використовуються функція the_content () або схожа функція get_the_content () , Яка повертає контент, а не виводить. У випадку з останньою фільтри також не застосовуватимуться - текст не відформатуй, шорткоди НЕ задіюються, однак тег «Далі» буде працювати як належить.
При використанні the_content () весь HTML поста збережеться, картинки також будуть в анонсі.
Ви вставили тег «Далі», але у вас все одно виводиться цілком весь пост? Дивіться вирішення проблеми тут .
Цитата
Другий спосіб створення анонсів постів - використання поля «Цитата». Цей спосіб спрацює тільки в тому випадку, якщо для виведення анонсів у вас використовується the_excerpt () (її аналог get_the_excerpt () повертає цитату, а не виводить).
Якщо ви не можете знайти метабокс цитати на сторінці редагування записи, в правому верхньому куті відкрийте «Налаштування екрану» і включіть його там.
Пара слів про те як працюють функція the_excerpt ():
- В першу чергу в якості анонсу поста береться вміст поля «Цитата».
- Якщо цитата порожня, тоді анонсом стане невідформатований текст поста, обрізаний до 55 слів.
- Якщо в цих 55 словах присутній тег «Далі», то анонс стане ще коротше.
Постарався показати це на відео:
Власна функція, обрізати вміст поста до певної кількості символів
Код функції наведено нижче, додаємо його в functions.php поточної теми WP.
function the_truncated_post ($ symbol_amount) {$ filtered = strip_tags (preg_replace ( '@ <style [^>] *?>. *? </ style> @si', '', preg_replace ( '@ <script [^>] * ?>. *? </ script> @si ',' ', apply_filters (' the_content ', get_the_content ())))); echo substr ($ filtered, 0, strrpos (substr ($ filtered, 0, $ symbol_amount), '')). '...'; }
Потім, в тому місці, в якому потрібно вивести анонс, вставляємо:
the_truncated_post (100);
Якщо при використанні цього методу у вас з'являться кракозябри, тоді рекомендую всередині функції the_truncated_post (), на 3й рядку, виконайте одну з таких заміни: substr () => mb_substr (), strrpos () => mb_strrpos (). Якщо в результаті функція взагалі перестане працювати, то це вже питання до вашого хостера.
Миша Рудрастих
Вперше познайомився з WordPress в 2009 році. З 2014 року мене можна зустріти на WordCamp - офіційної конфе по WordPress, іноді там виступаю. Також в даний час веду курси по WordPress в Epic Skills .
Якщо вам потрібна допомога з вашим сайтом або може навіть розробка з нуля - пишіть мені .
Ви вставили тег «Далі», але у вас все одно виводиться цілком весь пост?@ <style [^>] *?
@ <script [^>] * ?