danieliser
4/2/2015 - 8:12 PM

Plugins API Active Install Count Shortcode for WordPress

Plugins API Active Install Count Shortcode for WordPress

<?php
function plugin_install_count_shortcode( $atts ) {
	$a = shortcode_atts( array(
		'plugin' => NULL,
	), $atts );
	
	if( ! $a['plugin'] ) {
		return;
	}
	
	if( ( $count = get_transient( 'plugin_install_count-' . $a['plugin'] ) ) ) {
		return $count;
	}
	
	if( ! function_exists( 'plugins_api' ) ) {
		include_once ABSPATH . '/wp-admin/includes/plugin-install.php';
	}
	
	$api = plugins_api( 'plugin_information', array(
		'slug' => $a['plugin'],
		'fields' => array( 'active_installs' => true )
	) );
	
	if( is_wp_error( $api ) ) {
		return;
	}
	
	set_transient( 'plugin_install_count-' . $a['plugin'], $api->active_installs, 24 * HOUR_IN_SECONDS );
	
	return $api->active_installs;
}
add_shortcode( 'plugin_install_count', 'plugin_install_count_shortcode' );