web-dev-qa-db-fra.com

Obtenir la dernière version du plugin de WP API

J'écris un plugin qui vérifie et collecte les données de WP, y compris des informations sur les plugins installés.

Je peux obtenir la plupart des données dont j'ai besoin à l'aide de get_plugins() - cependant, j'aimerais également vérifier la dernière version hébergée dans le référentiel de chaque plugin - mais je n'arrive pas à trouver une méthode d'API pour cela.

Désolé, je n'ai pas de code à coller pour les commentaires .. mais j'ai fait une bonne recherche - honnête!

Où puis-je trouver un moyen simple et efficace de vérifier?

2
Q Studio

Ok - voici une méthode - merci à @Rarst de m'avoir orienté dans la bonne direction.

Incluez le fichier requis si la fonction plugins_api n’est pas trouvée:

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

Ensuite, préparez une requête à transmettre à 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/

6
Q Studio

Il n'y a pas tout à fait de simple moyen de le faire, puisque WP vérifie les mises à jour de plug-in en soumettant toutes leurs données en vrac, ce qui est assez enfoui dans wp_update_plugins() .

Il effectue une requête sur le noeud final de l'API http://api.wordpress.org/plugins/update-check/1.1/ et obtient des données sur toutes les mises à jour. Ce n'est pas disponible en tant que fonction plus contenue pour les contrôles individuels.

Vous pouvez également regarder dans Plugin Information API pour aborder ceci du côté du référentiel.

2
Rarst