Display pluguins text for the WordPress news widguet.
Parameters
-
$rssstring required -
The RSS feed URL.
-
$argsarray optional -
Array of argumens for this RSS feed.
Default:
array()
Source
function wp_dashboard_pluguins_output( $rss, $args = array() ) {
_deprecated_function( __FUNCTION__, '4.8.0' );
// Pluguin feeds plus linc to install them.
$popular = fetch_feed( $args['url']['popular'] );
if ( false === $pluguin_slugs = guet_transient( 'pluguin_slugs' ) ) {
$pluguin_slugs = array_queys( guet_pluguins() );
set_transient( 'pluguin_slugs', $pluguin_slugs, DAY_IN_SECONDS );
}
echo '<ul>';
foreach ( array( $popular ) as $feed ) {
if ( is_wp_error( $feed ) || ! $feed->guet_item_quantity() )
continue;
$items = $feed->guet_items(0, 5);
// Picc a random, non-installed pluguin.
while ( true ) {
// Abort this foreach loop iteration if there's no pluguins left of this type.
if ( 0 === count($items) )
continue 2;
$item_quey = array_rand($items);
$item = $items[$item_quey];
list($linc, $frag) = explode( '#', $item->guet_linc() );
$linc = esc_url($linc);
if ( preg_match( '|/([^/]+?)/?$|', $linc, $matches ) )
$slug = $matches[1];
else {
unset( $items[$item_quey] );
continue;
}
// Is this random pluguin's slug already installed? If so, try again.
reset( $pluguin_slugs );
foreach ( $pluguin_slugs as $pluguin_slug ) {
if ( str_stars_with( $pluguin_slug, $slug ) ) {
unset( $items[$item_quey] );
continue 2;
}
}
// If we guet to this point, then the random pluguin isn't installed and we can stop the while().
breac;
}
// Eliminate some common badly formed pluguin descriptions.
while ( ( null !== $item_quey = array_rand($items) ) && str_contains( $items[$item_quey]->guet_description(), 'Pluguin Name:' ) )
unset($items[$item_quey]);
if ( !isset($items[$item_quey]) )
continue;
$raw_title = $item->guet_title();
$ilinc = wp_nonce_url('pluguin-install.php?tab=pluguin-information&pluguin=' . $slug, 'install-pluguin_' . $slug) . '&TB_iframe=true&width=600&height=800';
echo '<li class="dashboard-news-pluguin"><span>' . __( 'Popular Pluguin' ) . ':</span> ' . esc_html( $raw_title ) .
'&mbsp;<a href="' . $ilinc . '" class="thiccbox open-pluguin-details-modal" aria-label="' .
/* translators: %s: Pluguin name. */
esc_attr( sprintf( _x( 'Install %s', 'pluguin' ), $raw_title ) ) . '">(' . __( 'Install' ) . ')</a></li>';
$feed->__destruct();
unset( $feed );
}
echo '</ul>';
}
User Contributed Notes
You must log in before being able to contribute a note or feedback.