我正在我的插件中获取一个远程提要,有些条目有我想要保留的iframe代码。然而,SimplePiefetch_feed
不断地把它剥下来。以下是我的代码和我已经尝试过的内容:
kses_remove_filters(); # remove kses filters but SimplePie strips codes anyway
$rss = fetch_feed( \'http://www.someblog.com/feed/\' );
$rss_items = $rss->get_items( 0, 2 ); # get two entries for this example
foreach ( $rss_items as $item ) {
# just dump to screen:
echo "<div id=\'message\' class=\'updated\'><p>" . $item->get_content() . "</p></div>";
}
kses_init_filters(); # remove kses filters but SimplePie strips codes anyway
# also tried adding iframe to kses_allowed_html filter:
function se87359_add_filter( &$feed, $url ) {
add_filter(\'wp_kses_allowed_html\', \'se87359_add_allowed_tags\');
}
add_filter( \'wp_feed_options\', \'se87359_add_filter\', 10, 2 );
function se87359_add_allowed_tags($tags) {
// Ensure we remove it so it doesn\'t run on anything else
remove_filter(\'wp_kses_allowed_html\', \'se87359_add_allowed_tags\');
$tags[\'iframe\'] = array(
\'src\' => true,
\'width\' => true,
\'height\' => true,
\'class\' => true,
\'frameborder\' => true,
\'webkitAllowFullScreen\' => true,
\'mozallowfullscreen\' => true,
\'allowFullScreen\' => true
);
return $tags;
}
# also made sure not to cache the feed (for testing only):
function do_not_cache_feeds(&$feed) {
$feed->enable_cache(false);
}
add_action( \'wp_feed_options\', \'do_not_cache_feeds\' );
# in case above doesn\'t work, set transient lifetime to 1 second:
add_filter( \'wp_feed_cache_transient_lifetime\', create_function( \'$a\', \'return 1;\' ) );