Intereting Posts
Добавьте настраиваемый мета-поле в параметрах post, которые загружают некоторый код html в заголовок мы можем добавить кнопку счетчика твиттера в wordpress? Сообщения с тегом внизу страницы Медиа-загрузчик: получите удаленные файлы Добавить переменную между do_shortcode Пользовательское поле в шаблоне TWIG – плагин дополнительных настраиваемых полей Отображение всех сообщений и пользовательских типов сообщений с использованием одной категории Объединение двух настраиваемых типов сообщений в один Ошибка: удаление файла, а затем загрузка того же файла снова помещает файл в папку старого месяца Серверное оборудование для WordPress Ссылки на страницы не отображаются на сообщениях single.php на устройствах iOS Не удается найти | Избранные | Популярные | Новые | Избранное в работе WordPress Как применить wordpress 'with_front' = false для категорий? Как добавить «Просмотры» на странице форумов bbPress (плагин)? Javascript не работает

Удалить изображения из 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, чтобы помочь с обрезкой длины, а что нет.