WordPress.org API: Plugins mit cURL abrufen

Eine coole Möglichkeit seine Plugins von WordPress.org zu präsentieren, ist die Verwendung der WordPress.org API. So gibt es immer aktuelle Informationen und du kannst sogar Details abrufen, die sonst nur immer nervig per Hand abgeändert werden müssten: Die Statistiken zum Beispiel.

Wichtig zu wissen ist, dass die WordPress API per POST-Request funktioniert. Wir senden also mit cURL unseren POST-Request und bekommen dann die Daten. Was cool ist: Für die WordPress API werden keine Token oder sonst was benötigt. Was nicht so cool ist: Die WordPress API ist nicht so schnell unterwegs. Am besten ist es, wenn du den Abruf in eine externe Datei packst und dann mit Ajax lädst.

PHP

// Plugin Slug
$slug = 'simple-marketplace-affiliate';

$args = (object) array( 'slug' => $slug );
$fields = array( 'action' => 'plugin_information', 'timeout' => 15, 'request' => serialize( $args ) );
$url = 'http://api.wordpress.org/plugins/info/1.0/';
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);
$result = unserialize($result); 
curl_close($ch);

// Output (object)
echo '<pre>' . print_r($result, true) . '</pre>';Code-Sprache: PHP (php)

Für den ordentlichen cURL bedanke ich mich bei David Walsh. Die Anpassungen sind von mir selbst. Außerdem ist dieser kleine aber feine Beitrag, ebenfalls Teil von #projekt52!