WordPress dashboard widget

<?php
// function to display the RSS feed
function reddit_rss_dashboard_widget_function() {
	$rss = fetch_feed( "http://www.reddit.com/.rss" );

	if ( is_wp_error($rss) ) {
		if ( is_admin() || current_user_can('manage_options') ) {
			echo '<p>';
			printf(__('<strong>RSS Error</strong>: %s'), $rss->get_error_message());
			echo '</p>';
		}
		return;
	}

	if ( !$rss->get_item_quantity() ) {
		echo '<p>Apparently, there is nothing happening on Reddit!</p>';
		$rss->__destruct();
		unset($rss);
		return;
	}

	echo "<ul>\n";

	if ( !isset($items) )
		$items = 10;

	foreach ( $rss->get_items(0, $items) as $item ) {
		$publisher = '';
		$site_link = '';
		$link = '';
		$content = '';
		$date = '';
		$link = esc_url( strip_tags( $item->get_link() ) );

		$content = $item->get_content();
		$content = wp_html_excerpt($content, 250) . ' ...';

		echo "\t<li><a href='$link'>$link</a> - $content</li>\n";
	}

	echo "</ul>\n";
	$rss->__destruct();
	unset($rss);
};

// function to add the rss feed to the dashboard
function reddit_rss_add_dashboard_widget() {
	wp_add_dashboard_widget('reddit_rss_dashboard_widget', 'Reddit RSS', 'reddit_rss_dashboard_widget_function');
}

// action that calls the function that adds the widget to the dashboard.
add_action('wp_dashboard_setup', 'reddit_rss_add_dashboard_widget');
?>

Leave a Comment