有一种方法可以实现这一点:
/**
* Display a random feed in the RSS Widget
* Activated by the wpse_random_url string in the feed url
*
* @see http://wordpress.stackexchange.com/a/187599/26350
*/
! is_admin() && add_filter( \'wp_feed_options\', function( $feed, $url )
{
// Modify this list of feeds to your needs:
$urls = [
\'http://stackoverflow.com/feeds/\',
\'http://wordpress.stackexchange.com/feeds\',
\'http://unix.stackexchange.com/feeds\'
];
// Select a random feed from the above list:
if( class_exists( \'\\SimplePie\' )
&& $feed instanceof \\SimplePie
&& false !== strpos( $url, \'wpse_random_url\' )
&& method_exists( $feed, \'set_feed_url\' )
)
$feed->set_feed_url( $urls[ array_rand( $urls ) ] );
return $feed;
}, 10, 2 );
其中,我们的提要url必须包含
wpse_random_url
一串
例如,我们可以使用当前站点的提要,使用random\\u url GET参数:
http://example.tld/feed/?wpse_random_url
并将其添加到RSS小部件的url字段:
改进这个迷你插件的下一步是引入一种直接从后端添加提要列表的方法,而不必在代码本身中对其进行修改。