Донецкий техникум промышленной автоматики

3 способи створення анонса записи в WordPress

  1. Тег «Далі»
  2. Застосування: функція the_content ()
  3. Цитата
  4. Власна функція, обрізати вміст поста до певної кількості символів
  5. Миша Рудрастих

Якщо ви ніяк не можете розібратися, як зробити так, щоб на головній і в рубриках виводилося тільки початок публікації з посиланням «Читати далі» (або і зовсім який-небудь унікальний текст), то цей пост спеціально для вас.

Ні в одному з нижчеперелічених способів плагінів нам не буде потрібно.

Тег «Далі»

Спочатку розберемо найпростіший і часто використовується спосіб. Працює практично для будь-яких тем WordPress.

Хороший цей спосіб тим, що ви зможете обрізати вміст поста в будь-якому місці, в якому захочете. Для цього потрібно:

  1. Перейти на сторінку редагування поста.
  2. Поставити курсор в те місце в тексті, в якому ви хочете його обрізати і натиснути кнопку в редакторі Вставити тег «Далі» Якщо ви ніяк не можете розібратися, як зробити так, щоб на головній і в рубриках виводилося тільки початок публікації з посиланням «Читати далі» (або і зовсім який-небудь унікальний текст), то цей пост спеціально для вас або кнопку more - в залежності від того, яким редактором ви користуєтеся (Візуальним або HTML).
  3. Оновити пост.

Записав відео для повної наочності:

Застосування: функція the_content ()

Цей спосіб повністю реалізує себе, якщо для виведення анонса постів використовуються функція the_content () або схожа функція get_the_content () , Яка повертає контент, а не виводить. У випадку з останньою фільтри також не застосовуватимуться - текст не відформатуй, шорткоди НЕ задіюються, однак тег «Далі» буде працювати як належить.

При використанні the_content () весь HTML поста збережеться, картинки також будуть в анонсі.

Ви вставили тег «Далі», але у вас все одно виводиться цілком весь пост? Дивіться вирішення проблеми тут .

Цитата

Другий спосіб створення анонсів постів - використання поля «Цитата». Цей спосіб спрацює тільки в тому випадку, якщо для виведення анонсів у вас використовується the_excerpt () (її аналог get_the_excerpt () повертає цитату, а не виводить).

Якщо ви не можете знайти метабокс цитати на сторінці редагування записи, в правому верхньому куті відкрийте «Налаштування екрану» і включіть його там.

Пара слів про те як працюють функція the_excerpt ():

  1. В першу чергу в якості анонсу поста береться вміст поля «Цитата».
  2. Якщо цитата порожня, тоді анонсом стане невідформатований текст поста, обрізаний до 55 слів.
  3. Якщо в цих 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 [^>] * ?