Вывод краткого описания с HTML кодом на сайте WordPress (взятого из полного описания записи)

Для вывода краткого описания с HTML кодом на сайте WordPress (взятого из полного описания записи) необходимо добавить в файл functions.php следующий хук:

Его можно доработать, добавив в обоих случаях дополнительные html теги.






function oceanwp_custom_excerpt($word_count = 55, $allowed_tags = '<p><br><b><strong><i><em><a><span><div>', $more = '[...]') {
    global $post;

    // Если есть рукописный анонс → берем его
    if (!empty($post->post_excerpt)) {
        return '<div class="custom-excerpt">' . wpautop($post->post_excerpt) . '</div>';
    }

    // Берем из контента
    $content = get_the_content();
    $content = apply_filters('the_content', $content);
    $content = str_replace(']]>', ']]>', $content);

    // Оставляем только разрешённые теги
    $content = strip_tags($content, $allowed_tags);

    // Обрезаем по словам
    $words = preg_split('/\s+/', $content, $word_count + 1, PREG_SPLIT_NO_EMPTY);

    if (count($words) > $word_count) {
        array_pop($words);
        $words[] = $more;
        $output = implode(' ', $words);
    } else {
        $output = implode(' ', $words);
    }

    return '<div class="custom-excerpt">' . $output . '</div>';
}

// Пример использования в шаблоне:
// echo oceanwp_custom_excerpt(30, '<p><a><span><strong>', '...');



А также в файле списка записей закомментировать прежний код вывода и добавить свой
У меня файл: /public_html/wp-content/themes/oceanwp/partials/entry/content.php

<?php 
if (function_exists('oceanwp_custom_excerpt')) {
    echo oceanwp_custom_excerpt(50, '<p><br><strong><a><span><div>', '...');
}
?>


guest

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии