web-dev-qa-db-ja.com

から最新のプラグインバージョンを入手する WP API

インストールされているプラ​​グインに関する情報を含めて、WPからデータをチェックして収集するプラグインを書いています。

必要なデータの大部分はget_plugins()を使用して取得できます - ただし、各プラグインの最新のリポジトリホストバージョンも確認したいのですが、そのためのAPIメソッドは見つかりません。

申し訳ありませんが、コメントに貼り付けるためのコードがありません。

簡単で効率的な確認方法はどこにありますか。

2
Q Studio

わかりました - ここに方法があります - 正しい方向に私を指すための@Rarstのおかげで。

Plugins_api関数が見つからない場合は、requireファイルを含めます。

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

次に、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

WPはすべてのデータをまとめて送信することによってプラグインの更新をチェックし、 wp_update_plugins() にはかなり埋められているので、それを行うには simple 方法はまったくありません。

これはhttp://api.wordpress.org/plugins/update-check/1.1/ APIエンドポイントへの要求を実行し、すべての更新に関するデータを取得します。個々の小切手のためのより包括的な機能としては利用できません。

プラグイン情報API を調べて、リポジトリ側からこれにアプローチすることもできます。

2
Rarst