Вывод анонса записи в блоге на WordPress

002.jpgВыводить анонс записи на блоге нужно обязательно. Для чего это делать? Ну во-первых для того чтобы посетители блога могли выбрать для себя наиболее необходимые им материалы.

Во-вторых, если анонс не выводить вообще, то получится сайт-страшилка, очень похожий на новостной сайт (лены новостей).

В-третьих, вывод полной записи (встречал и такое) — дублирует контент на сайте, посетители не будут заходить во внутренние страницы, да и вообще будут ли заходить? Если можно прочитать всю запись в RSS ленте.

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

Выводить анонс записи можно разными способами, всего я знаю их три. Поэтому я сейчас и приведу вам эти способы.

1. Стандартный способ вывода анонса wordpress

Этот способ предусмотрен разработчиками WordPress. Для этого достаточно поставить тег <!—more—> в HTML коде записи, либо нажав кнопочку «Вставить тег Далее» в визуальном редакторе, скриншот ниже.

standart-anons.jpg

2. Вывода анонса при помощи функции the_excerpt

Стандартная функция для вывода записи в wordpress the_content, ее можно заменить функцией the_excerpt, для этого достаточно пройтись по файлам шаблона (темы) и вручную заменить функцию.

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

function new_excerpt_more($excerpt) {
return str_replace('[...]', '...', $excerpt);
}
add_filter('wp_trim_excerpt', 'new_excerpt_more');

Эту функцию надо добавить в файл functions.php, который находится внутри папки вашей темы. Он изменяет убирает квадратные скобки благодаря функции str_replace(). Вуаля, теперь можно автоматом генерировать анонс записи и при этом не ставить никаких тегов внутри записи.

3. Вывода анонса при помощи пользовательской функции

Назовем эту функцию shorten_text(), она вызывается так — shorten_text(350), цифра 350 — это количество символов которое выведется функцией. Также в конце анонса выведется троеточие. Чтобы вывести что-то другое тогда требуется вызвать функцию вот так — shorten_text(350,’далее…’).

function shorten_text( $iChars = 22, $szTail = "...", $bPrint = true )
{
global $post;
$szText = strip_tags( trim( $post->post_content ) );
$szText = substr( $szText, 0, $iChars );
$szText = substr( $szText, 0, strrpos( $szText , ' ' ) ) . $szTail;
apply_filters('the_excerpt', $szText);
if ( $bPrint == true ) echo $szText; else return $szText;
}

h++p://arniwebdesign.com/vyvod-anonsa-zapisi-v-wordpress-bloge/

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

  1. Привет. А можно как то уже созданные записи обработат?
    А то когда нажимаешь на любой тег там куча записей вылазит причем не анонсами а полностью

  2. Конечно, многоуважаемый спамер к сожалению ссылки у меня не публикуются второй и третий пункты как раз об этом и рассказывает…

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*


два + шесть =