Intereting Posts
wp-json / return 404, но wp-json / wp / v2 / отлично работает на моем сервере nginx Отменить регистрацию типа сообщения из дочерней темы Есть ли возможность управлять плагинами? Вставка $ wpdb-> не работает Получить результат из пользовательского поля в пользовательском типе сообщения Выполнение плагина только на почтовых страницах У меня появляется сообщение об ошибке после ввода в моем домене. Как мне вернуть сайт Многопользовательский виджет WordPress Добавить настраиваемое поле для автора и списка авторов списка в этом поле хвастаться тем, что вы читаете с помощью blogroll вашего любимого блога widget wordpress Как правильно использовать partials в functions.php? Как передать переменную в add_settings_section () обратный вызов? Получать post_type от term_id получение всех значений пользовательской таксономии, если нет сообщений wp_list_categories, чтобы показать список категорий и описание

Как отфильтровать 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> 

Один из возможных вариантов заключается в использовании 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> в пустой.