wp_dashboard_plugins_output [ WordPress Function ]
wp_dashboard_plugins_output ( No parameters )
| Defined at: |
|
Soorgelijke functies: wp_dashboard_plugins, wp_dashboard_rss_output, wp_dashboard_quick_press_output, wp_dashboard_secondary_output, wp_dashboard_incoming_links_output
Display plugins most popular, newest plugins, and recently updated widget text.
Source
<?php
function wp_dashboard_plugins_output() {
$popular = fetch_feed( 'http://wordpress.org/extend/plugins/rss/browse/popular/' );
$new = fetch_feed( 'http://wordpress.org/extend/plugins/rss/browse/new/' );
if ( false === $plugin_slugs = get_transient( 'plugin_slugs' ) ) {
$plugin_slugs = array_keys( get_plugins() );
set_transient( 'plugin_slugs', $plugin_slugs, 86400 );
}
foreach ( array( 'popular' => __('Most Popular'), 'new' => __('Newest Plugins') ) as $feed => $label ) {
if ( is_wp_error($$feed) || !$$feed->get_item_quantity() )
continue;
$items = $$feed->get_items(0, 5);
// Pick a random, non-installed plugin
while ( true ) {
// Abort this foreach loop iteration if there's no plugins left of this type
if ( 0 == count($items) )
continue 2;
$item_key = array_rand($items);
$item = $items[$item_key];
list($link, $frag) = explode( '#', $item->get_link() );
$link = esc_url($link);
if ( preg_match( '|/([^/]+?)/?$|', $link, $matches ) )
$slug = $matches[1];
else {
unset( $items[$item_key] );
continue;
}
// Is this random plugin's slug already installed? If so, try again.
reset( $plugin_slugs );
foreach ( $plugin_slugs as $plugin_slug ) {
if ( $slug == substr( $plugin_slug, 0, strlen( $slug ) ) ) {
unset( $items[$item_key] );
continue 2;
}
}
// If we get to this point, then the random plugin isn't installed and we can stop the while().
break;
}
// Eliminate some common badly formed plugin descriptions
while ( ( null !== $item_key = array_rand($items) ) && false !== strpos( $items[$item_key]->get_description(), 'Plugin Name:' ) )
unset($items[$item_key]);
if ( !isset($items[$item_key]) )
continue;
// current bbPress feed item titles are: user on "topic title"
if ( preg_match( '/"(.*)"/s', $item->get_title(), $matches ) )
$title = $matches[1];
else // but let's make it forward compatible if things change
$title = $item->get_title();
$title = esc_html( $title );
$description = esc_html( strip_tags(@html_entity_decode($item->get_description(), ENT_QUOTES, get_option('blog_charset'))) );
$ilink = wp_nonce_url('plugin-install.php?tab=plugin-information&plugin=' . $slug, 'install-plugin_' . $slug) .
'&TB_iframe=true&width=600&height=800';
echo "<h4>$label</h4>\n";
echo "<h5><a href='$link'>$title</a></h5> <span>(<a href='$ilink' class='thickbox' title='$title'>" . __( 'Install' ) . "</a>)</span>\n";
echo "<p>$description</p>\n";
$$feed->__destruct();
unset($$feed);
}
}
?>
Examples [ wp-snippets.com ]
Top Google zoekresultaten
- PHPXRef 0.7 : WordPress : Detail view of dashboard.php
wp_dashboard_plugins() wp_dashboard_plugins_output() ...
phpxref.ftwr.co.uk - dashboard.php - PHP Cross Reference of WordPress Source - Yoast
wp_dashboard_plugins() wp_dashboard_plugins_output() ...
xref.yoast.com - WordPress 2.5 (Brecker) Dashboard: How to remove widget items ...
Apr 6, 2008 ... 'wp_dashboard_cached_rss_widget', 'wp_dashboard_plugins_output', array( ' http://wordpress.org/extend/plugins/rss/browse/popular/', ...
www.ditii.com - Docs for page dashboard.php
void wp_dashboard_incoming_links_output (). wp_dashboard_plugins (line 904) . void wp_dashboard_plugins (). wp_dashboard_plugins_output (line 916) ...
phpdoc.wordpress.org