Utilizarea API-ului Envato cu WordPress

Astăzi vom discuta cum să folosim API-ul Envato în WordPress și să creăm un cod scurt WordPress care să promoveze produsele Envato Marketplace din interiorul site-ului nostru WordPress. Vom combina puternicul Envato API, flexibilitatea WordPress și un pic de creativitate, pentru a construi un plugin uimitor pentru site-ul nostru.


Să ne stabilim scopul

În acest tutorial ne vom concentra pe:

  • Câteva cunoștințe de bază despre API-ul Envato
  • Cum se utilizează datele rezultatelor API în WordPress
  • Creați un Shortcode WordPress care promovează articolele Envato Marketplace pe site-ul nostru WordPress.

Să intrăm în primul!


Pasul 1: Înțelegerea API-ului Envato

Envato oferă un API care permite dezvoltatorilor să obțină unele informații despre articolele Envato Marketplace, informații despre utilizatori, proiecte populare și așa mai departe. Toate întrebările posibile sunt enumerate în documentația oficială. În acest articol discutăm numai API public.

API-ul public Envato are următoarea structură.

 http://marketplace.envato.com/api/edge/set.json

Cuvantul a stabilit trebuie să fie înlocuită cu o opțiune afișată în coloana setată a documentației API. Deci, dacă vrem toate informațiile despre un articol de pe piață, trebuie să îl înlocuim a stabilit cu articol: the_item_id. Adresa URL a solicitării finale va fi:

 http://marketplace.envato.com/api/edge/item:1263846.json

Puteți încerca să inserați adresa URL de mai sus în browserul dvs. Web și să vedeți datele returnate.

Putem, de asemenea, să concatenăm mai multe setare într-o singură cerere pentru a obține mai multe date. De exemplu, dorim datele despre elemente și informațiile despre autor. Astfel, adresa URL anterioară va deveni:

 http://marketplace.envato.com/api/edge/item:1263846+user:evoG.json

API-ul Envato returnează JSON, așa că în paragraful următor vom arăta cum să o gestionăm în WordPress.


Pasul 2: Cum se utilizează rezultatele API în WordPress

În acest tutorial nu vom discuta despre cum să creați un plugin WordPress, dar ne vom concentra pe câteva tehnici de utilizare a API-ului în WordPress:

  • Trimiteți cererea API
  • Gestionați datele despre rezultate (șirul JSON)

Funcția de mai jos aduce datele de pe serverul Envato și returnează o matrice PHP care conține toate informațiile pe care le dorim.

 / ** * @param String $ item_id - ID-ul unui element Envato Marketplace * @returns Array - informatia elementului * / function WPTP_get_item_info ($ item_id) / * Setarea URL-ului API,% s va fi inlocuit cu ID- * / $ api_url = "http://marketplace.envato.com/api/edge/item:%..json"; / * Returnați datele utilizând funcția WordPress wp_remote_get () * / $ response = wp_remote_get (sprintf ($ api_url, $ item_id)); / * Verificați erorile, dacă există erori return false * / if (is_wp_error ($ response) sau (wp_remote_retrieve_response_code ($ response)! = 200)) return false;  / * Transformarea șirului JSON într-o array PHP * / $ item_data = json_decode (wp_remote_retrieve_body ($ response), true); / * Verificați datele incorecte * / if (! Is_array ($ item_data)) return false;  / * Returnați elementul de informație al elementului * / return $ item_data; 

Putem îmbunătăți funcția de mai sus. Pentru a preveni stresul pe serverul API Envato, putem cache datele de date și să solicităm din nou informațiile după un timp de expirare. WordPress ne oferă câteva funcții pentru implementarea acestei funcții. Să o adăugăm.

 / ** * @param String $ item_id - ID-ul unui element Envato Marketplace * @returns Array - Informatia elementului * / function WPTP_get_item_info ($ item_id) / * Timeout cache de date in cateva secunde - din fiecare pagină refresh * / $ CACHE_EXPIRATION = 3600; / * Setați ID-ul tranzitoriu pentru cache * / $ transient_id = 'WPTP_envato_item_data'; / * Obțineți datele stocate în cache * / $ cached_item = get_transient ($ transit_id); / * Verificați dacă funcția trebuie să trimită o nouă solicitare API * / if (! $ Cached_item || ($ cached_item-> item_id! = $ Item_id)) / * Setați adresa URL API,% s va fi înlocuită cu elementul ID * / $ api_url = "http://marketplace.envato.com/api/edge/item:%..json"; / * Returnați datele utilizând funcția WordPress wp_remote_get () * / $ response = wp_remote_get (sprintf ($ api_url, $ item_id)); / * Verificați erorile, dacă există erori return false * / if (is_wp_error ($ response) sau (wp_remote_retrieve_response_code ($ response)! = 200)) return false;  / * Transformarea șirului JSON într-o array PHP * / $ item_data = json_decode (wp_remote_retrieve_body ($ response), true); / * Verificați datele incorecte * / if (! Is_array ($ item_data)) return false;  / * Pregătirea datelor pentru cache * / $ data_to_cache = new stdClass (); $ data_to_cache-> item_id = $ item_id; $ data_to_cache-> item_info = $ item_data; / * Setați datele elementului tranzitoriu - cache * / set_transient ($ transient_id, $ data_to_cache, $ CACHE_EXPIRATION); / * Returnați elementul informativ al elementului * / return $ item_data;  / * Dacă elementul este deja stocat în memoria cache, returnați informațiile cached * / return $ cached_item-> item_info; 

Acum funcția de bază a pluginului nostru WordPress este gata. Am folosit câteva funcții WordPress care ne ajută să economisim timp. Toate informațiile despre ele sunt explicate în Codul oficial WordPress.

  • wp_remote_get () - Obține o adresă URL utilizând metoda HTTP GET
  • wp_remote_retrieve_response_code () - Verifică că nu există erori în răspunsul brut
  • wp_remote_retrieve_body () - Preia corpul unei cereri HTTP deja preluate.
  • set_transient () - Datele cache-urilor
  • get_transient () - Obține date cache

Pasul 3: Construiți Shortcode WordPress

În următorii pași vom codifica un plugin util WordPress care ne permite să afișăm câteva informații despre un element Envato Marketplace. Codul de mai jos este bine comentat, astfel încât să puteți înțelege cu ușurință fiecare linie. Pentru mai multe detalii despre scrierea unui Plugin WordPress și API-ul WordPress Shortcode API consultați documentația online din Codul WordPress.

Să începem

Să scriem informațiile antetului pluginului nostru

  

Adăugați codul scurt WordPress

Acum scriem codul pentru a adăuga codul scurt și funcționalitățile acestuia.

 ($ atts); / * Validare * / dacă (gol ($ item_id)) return "

Introduceți un ID de element Envato Marketplace.

"* / * Obțineți date din API * / $ item = WPTP_get_item_info ($ item_id); / * Validare - Verificați dacă ceva a mers prost * / if ($ item === false)

Ups! Ceva a mers prost. Verificați ID-ul elementului și încercați din nou.

"/ * Pregătiți pluginul HTML * / $ html ="; "* / * Formatarea elementului $ $ array * / $ item = $ item ['item']; $ html. = '
'$ Element.'
evaluare“. WPTP_get_stars (valoare $). '
'$ De vânzări.' vânzări
'$ Element.'
$'(Cost $) .round.' numai
„; returnați $ html;

Funcția de evaluare stea

WPTP_add_shortcode () funcția de mai sus are WPTP_get_stars () procedură care acoperă numărul de rating pentru stelele HTML. Să o implementăm.

 Nu rata încă
„; / * Altfel, dacă evaluarea este> = 1, funcția o convertește în stele HTML și le returnează ca un șir * / $ return = '
    „; $ I = 1; în timp ce ((- $ rating)> = 0) $ return. = '„; $ I ++; dacă ($ rating == -0.5) $ return. = '„; $ I ++; în timp ce ($ i <= 5 ) $return .= '„; $ I ++; $ return = = '
„; returnați $ return;

Includeți CSS

Când funcțiile de coduri scurte sunt finalizate, trebuie să includeți style.css fișierul care modelează pluginul nostru.

  

Pasul 4: Scrieți reguli CSS

style.css fișierul se află în același director ca fișierul plugin principal și conține toate regulile CSS.

 / * WordPress Tutsplus Informații despre elementul Envato - Reguli CSS * / / * Layout și tipografie principală * / .wptp_envato_item font-family: "Helvetiva Neue", Arial, sans-serif; margine: 20px 0;  .wptp_wrap width: 210px;  .wptp_text display: block;  .wptp_num display: block; font-size: 24px; font-weight: 300; marja: 0; umplutura: 0; linia-înălțime: 24px; culoare: # 66696d;  Spațierea .wptp_num font-size: 14px; vertical-aliniere: super;  .wptp_desc display: block; font-size: 12px; font-weight: 300; marja: 0; umplutura: 0; linia-înălțime: 12px; culoare: # 96999d;  .wptp_not_rating culoare: # 66696d; font-size: 13px; font-weight: bold;  .wptp_title font-size: 14px; font-weight: 300; culoare: # 66696d; margin-bottom: 10px;  / * Secțiunea de evaluare a stelelor * / .wptp_rating width: 82px; text-align: centru; marja: 0 auto 10px auto;  .wptp_stars margine: 0; umplutura: 0; listă: nu există;  .wptp_stars li marginea-stânga: 2px; afișare: inline-block; vertical-aliniere: mijloc; lățime: 13px; înălțime: 13px;  .wptp_stars li.wptp_full_star fundal: url (icons-sprite.png) 0px -64px;  .wptp_stars li.wptp_empty_star fundal: url (icons-sprite.png) -14px-64px;  / * Secțiuni de vânzări și prețuri * / .wptp_sales, .wptp_thumb, .wptp_price display: inline-block; vertical-aliniere: mijloc;  .wptp_sales text-align: right; margin-dreapta: 10px;  .wptp_sales .wptp_text width: 52px;  .wptp_img_sales fundal: url (icons-sprite.png) 0px 0px; lățime: 32px; înălțime: 32px; afișare: bloc; margine: 0 0 12px 20px;  .wptp_img_price fundal: url (icons-sprite.png) 0px -32px; lățime: 32px; înălțime: 32px; afișare: bloc; margin-bottom: 7px;  .wptp_price text-aliniere: stânga; margin-stânga: 10px;  .wptp_price .wptp_text width: 34px;  / * Cumpărați secțiunea butonului * / .wptp_bottom a display: block; lățime: 78px; înălțime: 33px; fundal: url (icons-sprite.png) -32px 0px; marja: 10px auto 0 auto; 

Concluzie

Asta e, acum putem încărca pluginul pe site-ul nostru Worpdress și să folosim puterea codurilor scurte WordPress pentru a afișa câteva informații despre elementele Envato Marketplace. Pentru mai multe detalii despre scrierea unui plug-in WordPress și a API-ului WordPress Shortcode API consultați documentația online despre Codex-ul WordPress.

Sunt Michele Ivani și sper că acest tutorial a fost util pentru dezvoltarea WordPress. Mulțumesc mult pentru citire.

Cod