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>';

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!

Hat dir der Beitrag gefallen?
Ja
Nein
  • Hallo,

    Willkommen beim #projekt52 🙂

    Wenn dein Codeschnipsel innerhalb eines WordPress Plugins oder Themes eingesetzt wird, wäre es besser die WordPress HTTP API ( https://codex.wordpress.org/HTTP_API ) zu verwenden, im konkreten Fall via wp_remote_post ( https://codex.wordpress.org/Function_Reference/wp_remote_post ).
    Das hat dann den Vorteil, das WP selbst ermittelt welche Techniken zur Verfügung stehen für die Verbinsungsaufnahme nach draussen ( curl, fopen, socket) so das der Code auch auf einem System funktioniert wo curl nicht zur Verfügung steht.

    Und für eine Übersicht der APIs auf wordpress.org sei noch auf https://codex.wordpress.org/WordPress.org_API verwiesen.

    Gruß
    Frank

    • Hallo Frank,

      danke dir für den Tipp! Vielleicht packe ich das noch in einen zusätzlichen Beitrag.
      Dieser hier soll sich ausschließlich mit cURL beschäftigen – weil ich die API außerhalb von WP brauchte. 🙂

      Coole Sache trotzdem und danke für das Willkommenheißen! 🙂

      LG Kevin

Diese Website verwendet Cookies für eigene Zwecke. Diese Cookies sind für die Nutzung der Website notwendig.OKMehr erfahren