Cum să lucrați cu metadatele de comentarii wordpress

În această serie am analizat o serie de API-uri de metadate oferite de WordPress. Aceasta include API-ul Post Meta și API-ul User Meta. Astăzi vom finaliza seria privindu-vă la WordPress Comment Meta API.

Rețineți că acesta este cel mai recent API pentru metadatele WordPress. Începând cu WordPress 4.4, a apărut acum API metadate Term. Pentru a înțelege pe deplin acest lucru, este important să înțelegem taxonomia, termenii și relația lor în contextul WordPress. În următoarea serie, vă voi spune despre asta.

Dacă sunteți toți împușcați, atunci să începem.

În această serie, am folosit definiția metadatelor WordPress ca bază pentru înțelegerea modului în care aceste informații sunt prezentate în contextul mediului nostru.

Metadatele sunt procesate folosind perechi cheie / valoare. Cheia este numele elementului de metadate. O valoare este o informație care va fi afișată în lista de metadate pentru fiecare înregistrare individuală cu care informațiile sunt asociate.

Vestea bună este că, odată ce ați însușit o varietate de metadate API-interfețe, pe care le-am examinat, nu ar trebui să fie nimic surprinzător cu privire la modul în care alte funcții metadate faptul. În funcție de API pe care îl utilizați, pot exista lucruri diferite, dar esența funcționalității va fi aceeași.

Ca și celelalte API-uri discutate în această serie, vom analiza patru funcții importante:

  • add_comment_meta
  • update_comment_meta
  • get_comment_meta
  • delete_comment_meta

Acest lucru nu schimbă faptul că merită să explorăm în detaliu fiecare dintre aceste funcții API pentru a ne asigura că am acoperit tot ce trebuie să știți atunci când lucrați cu ei.

În restul acestui articol, presupun următoarele:

  • Aveți un mediu de dezvoltare locală cu un server web, un server de bază de date și PHP.
  • Aveți o copie a programului WordPress instalat.
  • Aveți o copie a tutsplus-metadata.php. creat în catalogul temei dvs. și este inclus în fișierul functions.php al temei.
  • Aveți acces rapid la IDE și la o interfață de bază de date accesibilă.

În cele din urmă, toate metadatele cu care vom lucra sunt stocate în tabela de baze de date wp_commentmeta. astfel încât toate capturile de ecran pe care le vedeți în baza de date va fi acest tabel special.

Cum să lucrați cu metadatele de comentarii wordpress

Spre deosebire de alte tabele de metadate pe care le-am văzut, tabelul wp_commentmeta este creat gol (dacă lucrați cu o relativ nouă versiune WordPress).

Acest lucru este bun, deoarece aceasta ne va da o listă curată care poate fi utilizată pentru a afla diferite funcții API. Rețineți că pentru toate exemplele de mai jos vom asigura că toate acestea se întâmplă în Hello World! Această postare are ID-ul 1. Dacă doriți să utilizați o altă pagină, înlocuiți pur și simplu 1 cu ID-ul mesajului respectivului mesaj.

Când totul este gata, să începem să ne uităm la ceea ce este disponibil.

Cum să lucrați cu metadatele de comentarii wordpress

Adăugarea de metadate unice

Funcția add_comment_meta necesită trei parametri și un al patrulea parametru opțional. Dacă treceți drept adevărat ca al patrulea parametru, metadatele vor fi adăugate numai dacă meta-cheia specificată nu există.

Observați că am trecut parametrul adevărat. Deci, de fiecare dată când actualizez o pagină, WordPress va vedea că vreau ca această valoare să fie unică, astfel încât să nu adauge mai multe informații la tabela de baze de date asociate acestui meta-cheie.

Adăugarea de metadate non-unice

Dacă, pe de altă parte, vreau să asociez mai multe valori cu aceeași cheie meta, aș șterge parametrul adevărat. De exemplu, utilizați următorul cod:

Și apoi reîmprospătați pagina, de exemplu, de trei ori. Dacă totul merge așa cum era de așteptat, puteți vedea trei intrări noi, fiecare dintre ele conținând un număr aleator generat de rand () apeluri în valoare meta argument.

Cum să lucrați cu metadatele de comentarii wordpress

Destul de ușor să te miști, nu? Dacă aveți nevoie de o valoare asociată cu o singură cheie, treceți drept ca al patrulea argument opțional; În caz contrar, nu specificați nimic.

Dacă există meta-valoarea, va fi suprascrisă. Dacă meta-valoarea nu există, va fi creată. Rețineți că ultima teză are o anumită funcționalitate pe care o puteți utiliza atunci când adăugați metadate: dacă doriți să aveți o informație unică scrisă într-o tabelă de metadate, puteți utiliza update_comment_meta. și o va scrie ca o valoare unică.

Acest lucru poate duce la confuzie în cod (deoarece este citit ca și cum ar fi actualizarea ceea ce nu există), dar vă permite de asemenea să vă asigurați că există o singură intrare pentru un anumit meta-cheie.

Ce se întâmplă atunci când există o meta-cheie asociată cu mai multe meta-valori? În acest caz, trebuie să știți valoarea pe care doriți să o înlocuiți. În unele cazuri, puteți ști exact ce este. În alte cazuri, poate fi necesar să obțineți informații pentru ao găsi (vom vorbi despre acest lucru în secțiunea următoare).

Presupunând că dorim să actualizați una dintre mențiunile create de noi, cum ar fi unul din numerele aleatoare din exemplul de mai sus, putem găsi utilizând interfața bazei de date:

Cum să lucrați cu metadatele de comentarii wordpress

Și specificați acest lucru ca fiind valoarea precedentă în următorul cod:

După aceasta, putem actualiza pagina, consultați baza de date și vedeți modificările. Rețineți că munca pe care tocmai am făcut-o este legată de mediul de dezvoltare și nu este modul în care ați putea face acest lucru în procesul de producție.

În schimb, este posibil să fie necesar să executați o interogare sau să obțineți un set de valori înainte de a le actualiza. Acest lucru ne aduce la următorul subiect.

Poate că te poți uita la acest lucru după cum urmează: dacă s-au adăugat mai multe metadate cu același meta-cheie (despre care am discutat în secțiunea "Adăugarea metadatelor unice" de mai sus), atunci cel mai probabil doriți să obțineți întreaga colecție de înregistrări.

Dacă, pe de altă parte, doriți să obțineți doar o singură înregistrare, deoarece știți că este unică sau pentru că a fost creată utilizând funcția update_comment_meta, atunci doriți ca WordPress să vă returneze într-o singură valoare.

Funcția get_comment_meta necesită trei argumente și un al patrulea opțional în funcție de ceea ce doriți să obțineți.

Obținerea unei matrice

În codul de mai sus, îl imprimați într-un browser web, dar puteți lucra cu aceste date în orice mod convenabil pentru dvs., de îndată ce îl obțineți. Cel mai important lucru de reținut este faptul că valoarea este returnată ca o matrice.

Obținerea unei singure valori

De exemplu, să presupunem că există trei înregistrări asociate cu un meta-cheie, și doriți doar să obțineți o valoare. Codul dvs. va arăta astfel:

Iar valoarea finală va arăta astfel:

În plus, dacă știți că datele sunt unice, codul va părea în continuare identic cu valoarea returnată.

Singura diferență este că primul exemplu a fost obținut dintr-un set de mai multe înregistrări, iar al doilea a fost extras dintr-o înregistrare. De asemenea, rețineți că, dacă aveți de-a face cu o valoare unică, aceasta va fi în continuare returnată la tine ca o matrice, dar numai la o singură matrice index.

Acest lucru este important de remarcat, pentru că dacă intenționați să faceți orice comparații, în special alte tipuri de valori, cum ar fi un număr întreg, va trebui să obțineți valoarea din matrice și probabil că doriți să efectuați difuzarea tipurilor înainte de a compara.

Dacă nu specificați o valoare meta-valoare, toate înregistrările asociate meta-cheie vor fi șterse. Dacă, totuși, specificați o valoare meta-valoare, va fi ștearsă o singură intrare.

Eliminarea valorilor unice

În scopul acestui exemplu, presupunem că știm că există un fragment de metadate pentru un meta-cheie dat. Acest lucru înseamnă că o meta-cheie trebuie să fie unic pentru fiecare utilizator, asa ca, probabil că folosește ceva de genul un identificator unic generat, un marcaj temporal sau ceva de genul asta.

Înainte de a începe acest cod, baza de date ar trebui să arate cam așa:

Cum să lucrați cu metadatele de comentarii wordpress

Cum să lucrați cu metadatele de comentarii wordpress

Eliminarea valorilor non-unice

În alte situații, să zicem, există mai multe valori asociate cu un meta-cheie. Am văzut acest lucru de multe ori în acest articol. Dacă doriți să ștergeți toate înregistrările asociate unei meta-chei, nu este necesar să specificați o valoare meta-dată.

Cum să lucrați cu metadatele de comentarii wordpress

Dar rețineți că ștergerea datelor din baza de date poate fi periculoasă, mai ales dacă ștergeți din greșeală ceva ce nu ați dorit să îl ștergeți. Pentru a face acest lucru, este important să păstrați copii de siguranță ale bazei de date în medii de producție, astfel încât să le puteți restabili întotdeauna dacă ceva nu merge bine.

În plus, demonstrează de ce este atât de important să existe un mediu de dezvoltare locală și un mediu intermediar de testare înainte de a implementa codul într-un mediu de luptă.

Cod sursă complet

Rețineți că dacă includeți acest cod împreună cu restul articolelor din serie, trebuie să fiți atenți. Deoarece totul este înregistrat cu același cârlig, puteți obține rezultate ciudate.

Pentru a combate acest lucru, recomand unul dintre următoarele două scenarii:

Oricare dintre ele va face mai ușor să lucreze cu tot codul pe care l-am revizuit până acum.

concluzie

Indiferent dacă lucrați cu API metadate sau cu unul dintre celelalte API-uri, fiecare dezvoltator WordPress trebuie să aibă întotdeauna acces rapid la WordPress Codex pentru a afla rapid ce API-uri sunt disponibile și cum să le folosească.

Din moment ce am lucrat cu această serie, ar trebui să vedeți cum a fost dezvoltat API-ul în jurul metadatelor. Acest lucru face ca un API puternic ușor de folosit să extindă unele dintre funcțiile de bază ale WordPress.

În plus, am menționat că WordPress 4.4 are încă un API pentru metadate. Am de gând să vorbesc despre asta în următoarea serie, dar acest lucru va necesita studierea altor funcții bazate pe ea.

În acest moment, am acoperit o mulțime de materiale pentru a vă ajuta să vă îmbunătățiți abilitățile WordPress existente. Până la următorul articol, rețineți că toate cursurile și tutorialele mele sunt disponibile pe pagina mea de profil. și puteți citi mai multe articole despre dezvoltarea WordPress și WordPress pe blogul meu.

WordPress are un ecosistem activ. Există teme, pluginuri, biblioteci și multe alte produse care vă vor ajuta să vă construiți site-ul și proiectul. Natura open source a platformei o face, de asemenea, o opțiune excelentă, prin care vă puteți îmbunătăți abilitățile de programare. În orice caz, puteți vedea ce avem pe piața Envato.

Nu ezitați să mă urmați pe Twitter, precum și în @tommcfarlin. unde vorbesc despre diverse practici de dezvoltare a software-ului, multe dintre ele fiind relevante pentru dezvoltarea web-ului, multe dintre acestea fiind vizate în mod specific de WordPress.







Trimiteți-le prietenilor: