Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




wp_dashboard_plugins_output [ WordPress Function ]

wp_dashboard_plugins_output ( No parameters )
Defined at:



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_keysget_plugins() );
        
set_transient'plugin_slugs'$plugin_slugs86400 );
    }

    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(05);

        
// Pick a random, non-installed plugin
        
while ( true ) {
            
// Abort this foreach loop iteration if there's no plugins left of this type
            
if ( == 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_slug0strlen$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'/&quot;(.*)&quot;/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_htmlstrip_tags(@html_entity_decode($item->get_description(), ENT_QUOTESget_option('blog_charset'))) );

        
$ilink wp_nonce_url('plugin-install.php?tab=plugin-information&plugin=' $slug'install-plugin_' $slug) .
                            
'&amp;TB_iframe=true&amp;width=600&amp;height=800';

        echo 
"<h4>$label</h4>\n";
        echo 
"<h5><a href='$link'>$title</a></h5>&nbsp;<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

Meer ...

Gebruikersdiscussies [ wordpress.org ]

0 User Note(s)

Nog geen één. Wees de eerste!

Nieuw toevoegen ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics