wpcompany.ru wordpress WPCompany

Как создать автоматический excerpt для постов в WordPress

В WordPress часто возникает задача показать краткое описание поста — excerpt. По умолчанию WordPress позволяет вручную задавать excerpt, но что делать, если хочется, чтобы он формировался автоматически из содержимого поста, особенно если авторы забывают его заполнять? В этой статье разберём, как создать автоматический excerpt для постов в WordPress, чтобы улучшить пользовательский опыт и SEO, а также приведём примеры кода для реализации.

Что такое excerpt и зачем он нужен

Excerpt — это краткое резюме или анонс записи, который часто используется в списках постов, на главной странице, в виджетах и RSS. Он помогает пользователям быстро понять, о чём статья, не читая весь текст. Кроме того, поисковые системы учитывают excerpt, поэтому корректное его отображение влияет на CTR и ранжирование.

В WordPress можно вручную добавлять excerpt в редакторе, но это требует дисциплины от автора. Если поле не заполнено, WordPress обычно выводит первые 55 слов из контента, что не всегда удобно и красиво. Автоматический excerpt с кастомной логикой поможет сделать анонсы более информативными и аккуратными.

Основные требования к автоматическому excerpt

При создании автоматического excerpt важно учитывать несколько моментов:

  • Длина — оптимально от 100 до 200 символов, чтобы анонс был информативным, но не слишком длинным.
  • Удаление HTML-тегов — excerpt должен быть чистым текстом без разметки.
  • Учет специальных символов — чтобы не обрезать слова посередине.
  • Поддержка коротких кодов и мультиязычности — если на сайте используются шорткоды или мультиязычные плагины.

Пример функции для автоматического excerpt в functions.php

Ниже приведён пример функции wpcompany_auto_excerpt, которая генерирует автоматический excerpt из контента поста, учитывая все перечисленные выше требования.

function wpcompany_auto_excerpt($post_id, $length = 160) {
    $post = get_post($post_id);
    if (!$post) return '';

    // Если есть ручной excerpt, возвращаем его
    if (has_excerpt($post_id)) {
        return get_the_excerpt($post_id);
    }

    // Получаем чистый текст из контента
    $content = strip_shortcodes($post->post_content);
    $content = wp_strip_all_tags($content);

    // Обрезаем до нужной длины без разрыва слов
    if (mb_strlen($content) > $length) {
        $excerpt = mb_substr($content, 0, $length);
        $last_space = mb_strrpos($excerpt, ' ');
        if ($last_space !== false) {
            $excerpt = mb_substr($excerpt, 0, $last_space);
        }
        $excerpt = $excerpt . '...';
    } else {
        $excerpt = $content;
    }

    return $excerpt;
}

Эту функцию можно использовать в шаблонах для вывода анонсов:

echo wpcompany_auto_excerpt(get_the_ID(), 160);

Подключение автоматического excerpt к фильтру the_excerpt

Чтобы автоматически заменять вывод excerpt, если он пустой, можно добавить фильтр в functions.php:

function wpcompany_filter_the_excerpt($excerpt) {
    if (empty($excerpt)) {
        global $post;
        return wpcompany_auto_excerpt($post->ID, 160);
    }
    return $excerpt;
}
add_filter('the_excerpt', 'wpcompany_filter_the_excerpt');

Таким образом, если в записи не задан ручной excerpt, на сайте автоматически покажется сокращённый текст из содержимого.

Использование плагинов для расширения функционала excerpt

Если не хочется писать код, существуют плагины, которые позволяют тонко настроить автоматический excerpt. Вот несколько полезных:

  • Advanced Excerpt — настраиваемая длина, исключение HTML-тегов, поддержка шорткодов.
  • Excerpt Anywhere — позволяет вставлять excerpt в любые места с шорткодом.
  • Clearfy Pro — плагин для оптимизации WordPress, включающий расширенные настройки excerpt среди прочих функций.

Рекомендации по улучшению автоматического excerpt

Автоматический excerpt можно сделать ещё более полезным, если:

  • Добавить удаление стоп-слов и фраз, которые не несут смысла в анонсе.
  • Использовать NLP-библиотеки для выделения ключевых предложений (например, через API).
  • Добавить поддержку мультиязычности, если сайт многоязычный.
  • Настроить вывод специальных символов или эмодзи для привлечения внимания.

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

Заключение

Автоматический excerpt — важный элемент, который улучшает навигацию и удобство сайта на WordPress. Простая функция в functions.php или подходящий плагин помогут вам всегда иметь аккуратные и информативные анонсы постов без дополнительной нагрузки на авторов. Используйте пример функции wpcompany_auto_excerpt и адаптируйте её под свои задачи для эффективного вывода кратких описаний.

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше