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

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

Почему автоматический excerpt важен для образовательных сайтов

Курс — это сложный вид записи с большим количеством информации. Не всегда удобно и правильно вручную создавать краткие описания для каждой записи. Автоматический excerpt позволяет:

  • Обеспечить единообразие вывода краткого описания.
  • Уменьшить нагрузку на контент-менеджера, ведь не нужно заполнять дополнительное поле.
  • Избежать пустых блоков в листингах курсов.
  • Оптимизировать SEO за счет контроля длины и содержания excerpt.

Давайте посмотрим, как это реализовать технически.

Настройка автоматического excerpt через functions.php

Самый простой способ — использовать хук get_the_excerpt, чтобы подменить вывод, если excerpt не задан вручную. В нашем случае мы будем проверять, что запись — это тип course (предположим, что у вас есть пользовательский тип записи для курсов).

function wpfreecourses_auto_excerpt_for_courses($excerpt) {
    global $post;
    if ($post->post_type === 'course' && empty($excerpt)) {
        // Получаем первые 200 символов из контента без тегов
        $content = wp_strip_all_tags($post->post_content);
        $excerpt = mb_substr($content, 0, 200);
        // Добавляем троеточие, если текст длиннее
        if (mb_strlen($content) > 200) {
            $excerpt .= '...';
        }
    }
    return $excerpt;
}
add_filter('get_the_excerpt', 'wpfreecourses_auto_excerpt_for_courses');

Этот код автоматически создаст краткое описание из первых 200 символов текста курса, если поле excerpt пустое. Такой подход универсален и прост в поддержке.

Улучшение: обрезка по словам и удаление коротких предложений

Иногда обрезка по символам может резать текст посередине слова или предложения. Для более аккуратного excerpt можно использовать функцию, которая обрезает по словам. Вот пример реализации:

function wpfreecourses_trim_excerpt_words($text, $word_limit = 30) {
    $words = explode(' ', $text);
    if (count($words) > $word_limit) {
        $words = array_slice($words, 0, $word_limit);
        $text = implode(' ', $words) . '...';
    }
    return $text;
}

function wpfreecourses_auto_excerpt_for_courses_words($excerpt) {
    global $post;
    if ($post->post_type === 'course' && empty($excerpt)) {
        $content = wp_strip_all_tags($post->post_content);
        $excerpt = wpfreecourses_trim_excerpt_words($content, 30);
    }
    return $excerpt;
}
add_filter('get_the_excerpt', 'wpfreecourses_auto_excerpt_for_courses_words');

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

Использование плагинов для автоматического excerpt

Если вы не хотите писать код, можно использовать готовые плагины, которые расширяют функционал excerpt:

  • Advanced Excerpt – плагин, который позволяет гибко настраивать длину, тип обрезки, добавлять кнопки «читать далее».
  • Auto Excerpt Everywhere – автоматически создает excerpt из контента, если поле пустое.

Для образовательных сайтов с большим количеством курсов эти плагины помогут быстро настроить нужный вид excerpt без программирования.

Пример интеграции с плагином WPGPT для генерации описаний курсов

Если вы используете плагин WPGPT, можно автоматизировать создание описаний курсов через AI. После создания курса плагин может генерировать краткое описание и сохранять его в excerpt.

Для этого можно использовать следующий пример кода, который запускается после сохранения записи курса:

function wpfreecourses_generate_excerpt_with_wpgpt($post_id) {
    if (get_post_type($post_id) !== 'course') return;

    $post = get_post($post_id);
    $excerpt = get_post_field('post_excerpt', $post_id);
    if (!empty($excerpt)) return; // уже есть excerpt

    // Здесь вызываем API WPGPT для генерации текста
    $content = $post->post_content;
    $generated_excerpt = wpfreecourses_call_wpgpt_api($content);

    if ($generated_excerpt) {
        remove_action('save_post', 'wpfreecourses_generate_excerpt_with_wpgpt');
        wp_update_post([
            'ID' => $post_id,
            'post_excerpt' => wp_trim_words($generated_excerpt, 30, '...')
        ]);
        add_action('save_post', 'wpfreecourses_generate_excerpt_with_wpgpt');
    }
}
add_action('save_post', 'wpfreecourses_generate_excerpt_with_wpgpt');

function wpfreecourses_call_wpgpt_api($text) {
    // Пример запроса к API плагина WPGPT (псевдокод)
    // Возвращать сгенерированный текст
    return 'Сгенерированное краткое описание курса на основе AI.';
}

Такой подход существенно экономит время и повышает качество описаний.

Вывод и рекомендации по автоматическим excerpt для курсов

Автоматический excerpt — это простой и эффективный способ улучшить визуальное и функциональное восприятие ваших курсов на сайте. Используйте хук get_the_excerpt для кастомных решений, либо проверяйте возможности плагинов. Для профессиональных образовательных сайтов рекомендуем интегрировать AI-инструменты, такие как WPGPT, чтобы создавать привлекательные и информативные описания автоматически.

Обратите внимание на длину excerpt — оптимально 150-250 символов или 25-35 слов. Слишком короткий текст не несет смысла, а слишком длинный портит дизайн.

Если хотите, можете дополнительно использовать плагин Clearfy Pro для тонкой настройки вывода контента и оптимизации SEO.

Как создать фильтры для курсов в WordPress
15.01.2026
Как использовать WPRemark для автоматической модерации комментариев в WordPress
07.01.2026
Как автоматизировать обновление контента в WordPress
11.01.2026
WooCommerce: автоматическое удаление неактивных заказов по расписанию с помощью WP-Cron
29.06.2026
Как автоматически создать календарь мероприятий в WordPress с помощью кода и плагинов
05.03.2026