? Функция the_excerpt() в Wordpress: использование и хитрости

webtraf

cash-ads

Функция the_excerpt() в Wordpress: использование и хитрости

Изначально я планировал опубликовать этот пост примерно через неделю, если не позже, да и по объему он был поменьше, но одна милая читательница подтолкнула меня в мой упругий зад, и вот он пост, преобразившийся до неузнаваемости :) .
_________________________________________________
Wordpress excerpts – это отрывок из статьи, автоматически ли сгенерированный или введенный вручную блоггером, который выводится специальной функцией используемой в шаблоне Wordpress.
На примере моего блога покажу наглядно что я имею ввиду:
Excerpt в Wordpress
За вывод эксцерптов (уф, не выговорить :) ), далее буду называть их отрывками, отвечает специальная функция the_excerpt().
Использование функции the_excerpt()
Чтобы отобразить отрывки в шаблоне wordpress надо вставить следующий код (обычно его используют на страницах архивов, категорий, где не желательно выводить полный текст статей. Также, если в настройках Wordpress вы выбираете ‘отдавать в RSS не полный текст новости’, в RSS тоже будет использоваться эта функция):
<?php the_excerpt(); ?>

В случае если мы хотим отображать отрывки статей на странице категорий и архива стоит использовать следующий код:
<?php if ( is_category() || is_archive() ) {
the_excerpt();
} else {
the_content();} ?>

Изменение длины отрывка

По умолчанию используется длина в 55 слов, если вам надо изменить это значение, то идем в папку шаблона и открываем файл functions.php. Добавляем в него следующий код:
function new_excerpt_length($length) {
return 20;
}
add_filter('excerpt_length', 'new_excerpt_length');

Как вы, наверное, уже догадались, на месте числа 20 вам нужно поставить желаемую длину отрывка.

Как убрать [...] в конце отрывка

Также по умолчанию в конце отрывка выводится [...], что выглядит не очень симпатично. Чтобы убрать эти многоточечки, вставляем в тот же файл functions.php такой код:
для версии 2.9 и выше
function new_excerpt_more($more) {
return '[.....]';
}
add_filter('excerpt_more', 'new_excerpt_more');
для версии 2.8 и ниже
function new_excerpt_more($excerpt) {
return str_replace('[...]', '...', $excerpt);
}
add_filter('wp_trim_excerpt', 'new_excerpt_more');

Как отобразить ссылку ‘читать далее’ для отрывка поста

Вот наконец-то я и подошел к тому о чем изначально планировал написать, по ходу дела я решил расписать все поподробнее и так увлекся, что вспомнил о начале лишь в конце :D .
В комментарии к прошлому посту потрясающая Joy написала, что спросони не увидев у меня кнопки ‘читать далее’ растерялась. Удивительно, но вчера, еще до её комментария, я начал писать пост о том как добавить эту самую кнопку, когда используются отрывки на главной :) .
К делу.
Все еще не закрываем файл functions.php, он нам понадобится и здесь, так как нам придется добавить в него такой код:
function new_excerpt_more($more) {
global $post;
return '<a href="'. get_permalink($post->ID) . '">' . 'Читать далее' . '</a>';
}
add_filter('excerpt_more', 'new_excerpt_more');
_________________________________________________

Если вам что-то не понятно или нужна помощь, вы всегда можете обратиться ко используя комментарии или через контакты с этой страницы. Я буду рад помочь, честно-честно :) .
p.s. Как вы думаете, лучше писать чаще, но меньшие по объему посты, или реже, но такие мега-посты как Моя пуленепробиваемая SEO стратегия? Как читателям, какой вариант для вас предпочтительнее? Обещаю прислушаться ;) .
p.s.s. Буду рад ретвитам и новым подписчикам ;) .
Заботливые роботы на страже перелинковки:
  1. Wordpress: Создание отдельной страницы для постов Небольшой хак wordpress, который поможет вас создать отдельную страницу для...
  2. Wordpress: тема с шифрованным футером и проверкой на изменение Сегодня сказ пойдет о том, как я боролся с Wordpress...
  3. Wordpress: обновления через FTP Спасаем Wordpress от склероза, заставив запомнить настройки FTP :)....
  4. Блог с нуля: установка Wordpress В этой части "Блог с нуля" я расскажу как установить...
  5. Wordpress: Как программно убрать виджеты с дашборда Добавленное в версии 2.7, Дашборд API позволяет вам добавлять виджеты...