-
Vadim TsukanovРазработчик
-
Дата публикации21.12.2019
-
КатегорияWordpress
Задача:Выводить введение записи согласно html верстке
Довольно частое явление — необходимо,чтобы введение, на карточке блога выводилось согласно html разметке. Однако по дефолту wordpress «фильтрует» все теги и выплевывает весь текст в одном <p>.
По сути нам необходимо просто убрать этот фильтр, и разрешить вставлять html. Однако функция зашита в ядре, поэтому необходимо грамотно все отфильтровать, чтобы не потерять все, при первом же обновлении.
В файл functions.php темы добавляем:
function lt_html_excerpt($text) {
global $post;
if ( '' == $text ) {
$text = get_the_content('');
$text = apply_filters('the_content', $text);
$text = str_replace('\]\]\>', ']]>', $text);
$text = strip_tags($text,'<p><br><b><a><em><strong>');
$excerpt_length = 55;
$words = explode(' ', $text, $excerpt_length + 1);
if (count($words)> $excerpt_length) {
array_pop($words);
array_push($words, '[...]');
$text = implode(' ', $words);
}
}
return $text;
}
remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'lt_html_excerpt');
Данный код не сильно нуждается в комментировании, поэтому просто оставлю его здесь, в качестве шпаргалки.
Стоит немного обратная ситуация: провести манипуляции над заголовком в the_content: исключить из записи, форматировать, задать ссылку. Не подскажите, как реализовать?
Стоит немного обратная ситуация: провести манипуляции над заголовком в the_content: исключить из записи, форматировать, задать ссылку. Не подскажите, как реализовать?
strip_tags($text,'
') - вот тут можно все, или яя что-то не понял
Вот бы еще выделить заголовок. А то самая, на мой взгляд, главная беда excerpt именно в том, что он проглатывает заголовок как обычный текст. Тогда бы было хорошо, либо сделать вовсе исключить его или форматировать как заголовок
Здравствуйте! В плагине rank math seo и в других плагинах есть возможность вывести определённый текст посредством переменных, например %excerpt% выводит отрывок записи %title% выводит заголовок записи и так далее, но никаким образом не смогу вывести содержимое h2-h6, то есть если в начале записи есть абзац в тегах h3 например, то этот текст игнорируется и выводится первый абзац, если не задана выдержка discription. Мой вопрос в следующем: Как заставить вывести текст в тегах h2-h6 или отключить игнорирование тегов при автогенерации отрывка?