Intereting Posts
Пользовательские роли для доступа к определенным терминам (терминам) Двадцать десятая тема для детей имеет сообщение на внутренней странице. Не могу получить эту страницу, чтобы использовать мой желаемый шаблон Скрыть / показать содержимое на основе cookie Фид активности на панели управления администратора Требовать вход в WP для внешнего доступа Как получить все сообщения, связанные с определенным названием категории при нажатии кнопки? Фоновый образ не отображается? Как отображать содержимое без страницы / сообщения Крюк посередине через_content () ;? Могут ли читатели загружать zip-файлы с сайтов WordPress? Как я могу использовать заголовок заголовка из моего плагина? Почему в этой теме WordPress я не вижу Главное меню? Почему цветные изображения иногда обрезаются, а иногда Изменение текста экрана «Внести / Вставить в сообщения и страницы» Настроить изображение для нескольких сообщений

Удалить изображения из get_the_excerpt

Я использую специальную функцию для создания короткого кода, который отображает последнее сообщение в блоге на главной странице шаблона. Но я пытаюсь НЕ показывать изображения.

Я знаю, что я могу использовать плагин Advanced Excerpt для удаления изображений, но проблема в том, что он также удалит изображения из фида index.php, который я хочу сохранить, который использует the_excerpt() в шаблоне.

Вот моя специальная функция, которая создает короткий код:

 function my_recent_news() { global $post; $html = ""; $my_query = new WP_Query( array( 'post_type' => 'post', 'posts_per_page' => 4 )); if( $my_query->have_posts() ) : while( $my_query->have_posts() ) : $my_query->the_post(); $html .= " <article> <span class=\"date\">" . get_the_date() . "</span> <h2><a href=\"" . get_permalink() . "\">" . get_the_title() . "</a></h2> " . get_the_excerpt() . " </article> "; endwhile; endif; wp_reset_query(); return $html; } add_shortcode( 'news', 'my_recent_news' ); 

Я уже писал об этом раньше:

получить выдержку без изображений

но решение заключалось в использовании плагина Advanced Excerpt, но для этого я пытаюсь использовать выдержку на домашней странице и странице блога, но я хочу сохранить разметку img в блоге блога и удалить тег img из пользовательского короткого кода ,

Я попытался использовать только the_excerpt() в этой пользовательской функции the_excerpt() , но это просто разрушает всю функцию и отображает некоторые действительно странные вещи.

Я не слишком уверен, что мне нужно иметь фильтр где-нибудь, чтобы снять это или что. Я также не уверен, что если мне нужен фильтр, куда это пойдет? Перед циклом, после цикла, или ему нужен собственный аргумент?

Solutions Collecting From Web of "Удалить изображения из get_the_excerpt"

Если вы прочитаете запись Codex для get_the_excerpt() , вы найдете следующее:

Если сообщение не имеет выдержки, эта функция применяет wp_trim_excerpt к сообщению и возвращает эту сгенерированную строку с «[…]» в конце. wp_trim_excerpt применяется через фильтр get_the_excerpt и может быть удален.

Функция wp_trim_excerpt() :

При необходимости генерирует выдержку из содержимого.

Сумма слова для фрагмента будет составлять 55 слов, и если сумма будет больше, тогда строка '[…]' будет добавлена ​​к выдержке. Если строка меньше 55 слов, то содержимое будет возвращено как есть.

Таким образом, вы можете либо повторно применить wp_trim_excerpt() к фильтру get_the_excerpt , либо просто вывести его напрямую:

  $html .= " <article> <span class=\"date\">" . get_the_date() . "</span> <h2><a href=\"" . get_permalink() . "\">" . get_the_title() . "</a></h2> " . wp_trim_excerpt() . " </article> "; 

Хорошо, поэтому я сделал больше копания и тестирование, и я обнаружил, что с помощью strip_tags() основном удаляет любое форматирование в get_the_excerpt() .

Вот мой обновленный код:

 function my_recent_news() { global $post; $html = ""; $my_query = new WP_Query( array( 'post_type' => 'post', 'posts_per_page' => 4 )); if( $my_query->have_posts() ) : while( $my_query->have_posts() ) : $my_query->the_post(); $html .= " <article> <span class=\"date\">" . get_the_date() . "</span> <h2><a href=\"" . get_permalink() . "\">" . get_the_title() . "</a></h2> " . strip_tags(get_the_excerpt(), "<a>") . " </article> "; endwhile; endif; wp_reset_query(); return $html; } add_shortcode( 'news', 'my_recent_news' ); 

Я добавил <a> чтобы сохранить любые гиперссылки в пределах отрывки сообщения для отображения.

При этом я могу сохранить разметку на странице канала блога вместе с использованием плагина Advanced Excerpt, чтобы помочь с обрезкой длины, а что нет.