wp_dashboard_plugins_output
函数
wp_dashboard_plugins_output ( $rss, $args = array() )
- 参数
-
-
(string)
$rss
The RSS feed URL.- Required: 是
-
(array)
$args
Array of arguments for this RSS feed.- Required: 否
- Default: array()
-
(string)
- 定义位置
-
-
wp-admin/includes/deprecated.php
, line 1323
-
wp-admin/includes/deprecated.php
- 引入
- 2.5.0
- 弃用
- 4.8.0
Display plugins text for the WordPress news widget.
function wp_dashboard_plugins_output( $rss, $args = array() ) { _deprecated_function( __FUNCTION__, '4.8.0' ); // Plugin feeds plus link to install them. $popular = fetch_feed( $args['url']['popular'] ); if ( false === $plugin_slugs = get_transient( 'plugin_slugs' ) ) { $plugin_slugs = array_keys( get_plugins() ); set_transient( 'plugin_slugs', $plugin_slugs, DAY_IN_SECONDS ); } echo '
- ‘;
-
‘ . __( ‘Popular Plugin’ ) . ‘: ‘ . esc_html( $raw_title ) .
‘ (‘ . __( ‘Install’ ) . ‘)
foreach ( array( $popular ) as $feed ) {
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;
$raw_title = $item->get_title();
$ilink = wp_nonce_url(‘plugin-install.php?tab=plugin-information&plugin=’ . $slug, ‘install-plugin_’ . $slug) . ‘&TB_iframe=true&width=600&height=800’;
echo ‘
‘;
$feed->__destruct();
unset( $feed );
}
echo ‘
‘;
}