Get Latest Plugin Version from WP API

I’m writing a plugin that checks and collects data from WP – including info about installed plugins.

I can get most of the data I require using get_plugins() – however, I’d also like to check for the latest repository hosted version of each plugin – but I can’t seem to find an API method for this.

Read More

Sorry, I’ve got no code to paste for commenting.. but I’ve had a good search around – honest!

Where I can find a simple and efficient way to check?

Related posts

2 comments

  1. Ok – here is a method – thanks to @Rarst for pointing me in the right direction.

    Include the require file if the plugins_api function is not found:

    if ( ! function_exists( 'plugins_api' ) ) {
          require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
    }
    

    Then, prepare a query to pass to plugins_api():

    // set the arguments to get latest info from repository via API ##
    $args = array(
        'slug' => 'plugin-slug-name',
        'fields' => array(
            'version' => true,
        )
    );
    
    /** Prepare our query */
    $call_api = plugins_api( 'plugin_information', $args );
    
    /** Check for Errors & Display the results */
    if ( is_wp_error( $call_api ) ) {
    
        $api_error = $call_api->get_error_message();
    
    } else {
    
        //echo $call_api; // everything ##
    
        if ( ! empty( $call_api->version ) ) {
    
            $version_latest = $call_api->version;
    
        }
    
    }
    

    ref: http://wp.tutsplus.com/tutorials/plugins/communicating-with-the-wordpress-org-plugin-api/

  2. There is not quite simple way to do it, since WP check for plugin updates by submitting all their data in bulk and it’s pretty buried in wp_update_plugins().

    It performs request to http://api.wordpress.org/plugins/update-check/1.1/ API endpoint and gets data about all updates. It’s not available as more contained function for individual checks.

    You could also look into Plugin Information API to approach this from repository side.

Comments are closed.