Intereting Posts
wp_trash_post retrashes уже разгромили комментарии? Можете ли вы получить данные ACF из списка сообщений о статусе сообщения? Создайте список недавних записей пользовательских сообщений Ошибка WordPress при выходе из системы «Не разрешено» и не может выйти из системы Условия заказа по term_order Текст цены Woocommerce Как добавить отступы между сообщениями Как вставлять скрипты в зависимости от форматов сообщений? Как создать плейлист для звука, связанного с сообщениями по категориям Получить все сообщения, независимо от статуса Получите URL-адрес шаблона страницы без использования пула страниц и идентификатора отображать типы сообщений поочередно Как я могу поставить мета-окно над редактором, но ниже раздела заголовка на странице редактирования сообщений? Как я могу получить доступ к ответу заголовка и ajax от остального API Вывод данных о едином стандарте по таксономии

Как отфильтровать iframe из фида

Есть некоторый iframe внутри содержимого сообщения, и я хочу избавиться от этого iframe, когда генерируются rss-каналы. Чтобы генерировать rss-каналы, я показываю полный контент.

Я начал смотреть на strip_tags() но он делает почти что противоположное: strip_tags() все, кроме нужных тегов.

Мне интересно, может быть, есть какой-то крючок и некоторая форма WordPress-y для решения этой проблемы.

Я знаю, что я должен сделать что-то вроде этого:

 function rss_noiframe($content) { global $post; // filter out iframe here return $content; } add_filter('the_excerpt_rss', 'rss_noiframe'); add_filter('the_content_feed', 'rss_noiframe'); 

Но я потерялся в этот момент. Есть идеи?

По запросу EAmann , вот пример кода, который вообще не изменен (он по-прежнему появляется в фиде):

 <iframe src="http://somedomain.net/path/to/frame" frameborder="0" scrolling="no" width="500" height="375"></iframe> 

Solutions Collecting From Web of "Как отфильтровать iframe из фида"

Один из возможных вариантов заключается в использовании preg_replace для выполнения регулярного выражения на вашем контенте и замены iframe пустым пространством.

Итак, эта функция:

 function rss_noiframe($content) { $content = preg_replace( '/<iframe(.*)\/iframe>/is', '', $content ); return $content; } add_filter('the_excerpt_rss', 'rss_noiframe'); add_filter('the_content_feed', 'rss_noiframe'); 

Должно автоматически преобразовывать любые экземпляры <iframe src=...>...</iframe> в пустой.