the_excerpt() для WordPress с сохранением HTML

Функцию можно использовать как «обрезалку» текста с сохранением некоторых HTML тегов, аналог встроенной функции WordPress — the_excerpt()

function htmlTheExcerpt($text) {

    if ('' == $text) {
        $text = get_the_content('');
        $text = apply_filters('the_content', $text);
        $text = str_replace(']]>', ']]>', $text);
        $text = preg_replace('@<script[^>]*?>.*?</script>@si', '', $text);
        $text = strip_tags($text, '<span>,<br>,<a>,<strong>,<p>,<ul>,<li>,<ol>'); 
        $excerpt_length = 77;
        $words = explode(' ', $text, $excerpt_length + 1);
        if (count($words) > $excerpt_length) {
            array_pop($words);
            array_push($words, '<br><a href="' . get_the_permalink() . '"></strong>Подробнее...</a>');
            $text = implode(' ', $words);
        }
    }
    return $text;
}

Исключения из html задаются в строке «8» — здесь просто указываете те тэги которые не «зарежутся».
Количество символов анонса указываете в строке — «9»
Результат функции: Текст с сохранением нужных тегов HTML + ссылка на пост с текстом «Подробнее» (строка «13»)

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *