Crearea unui plugin pentru Quote Random pentru WordPress

Cu câțiva ani în urmă, am intrat într-adevăr în dezvoltarea plugin-ului WordPress atunci când am dat peste un exercițiu minuscul care mi-a învățat multe dintre elementele de bază ale creării plugin-urilor. Am început cu această idee foarte simplă: crearea unui plugin foarte util, care generează un citat la întâmplare la descrierea temei curente. Astăzi, voi reveni la plugin-ul care ma ajutat cu adevărat să-mi iau picioarele umede prin mersul pe voi / băieți prin cum să-i faceți singur.

Cunoștințele minime necesare pentru acest tutorial sunt doar câteva cunoștințe de bază despre PHP (acest lucru este destinat începătorilor care doresc să sară în dezvoltarea plugin-urilor). Misiunea pentru această lecție: creați un plugin care va genera un citat la întâmplare de fiecare dată când pagina este reîncărcată. Când plugin-ul este activat în secțiunea Plugin-uri, va funcționa în tăcere. Nu creează nicio resursă, deci nu avem nevoie de procedura de dezinstalare.


Pasul 1: Date despre plugin-ul de bază

Următoarele rânduri de cod sunt, în esență, ceea ce spune WordPress că ceea ce construiți este un "plugin". WordPress are nevoie doar de numele Plugin-ului. Ordinea liniilor nu este importantă, dar veți observa o mulțime de asemănări în acest "antet" dacă ați creat vreodată un șablon de pagină sau o temă.

Fișierul trebuie să fie în UTF-8 codare.

 / * Nume Plugin: Citat aleator al lui Adam Versiune: 0.1 Plugin URI: http://burucs.com Descriere: Înlocuiește descrierea site-ului cu un citat aleatoriu Autor: Adam Burucs Autor URI: http://burucs.com * /

Pasul 2 Funcția generatorului

Prima noastră piesă funcțională de cod este funcția generatorului. Se compune dintr-o matrice locală, una dimensională, umplută cu diferite citate, iar la sfârșitul rutinei se selectează un citat la întâmplare. Utilizăm PHP-ul încorporat Rand pentru aceasta, rețineți că valorile de început și de sfârșit sunt incluse în intervalul generat.

Conform standardelor detaliate de codificare WordPress, ar trebui să folosim următoarea convenție de numire implicită pentru utilizare: două monograme literare mici ale autorului și abrevierea numelui pluginului.

 funcția ab_arq_generate () $ quotes = array ("Tăcerea este de aur", "Nimic nu este ceea ce pare", "A face totul bine!", "Mai bine târziu decât niciodată". returnează cotații $ [rand (0, count ($ quotes) -1)]; 

Pasul 3 Funcție care înlocuiește descrierea implicită cu cotația

În această secțiune folosim o funcție de ajutor care utilizează procedura de bază scrisă anterior.

 funcția ab_arq_change_bloginfo ($ text, $ show) if ('descriere' == $ show) $ text = ab_arq_generate ();  returnați $ text; 

Pasul 4 Utilizați sistemul de filtrare

Sistemul de filtrare este un concept important în lumea monumentală a WordPress. Filtrele sunt funcțiile pe care plugin-ul dvs. le puteți conecta în ceea ce privește modificarea datelor. În cazul nostru, cu acest mare potențial, depășim descrierea implicită a temei reale. În prezent, trebuie să folosim funcția bloginfo.

 add_filter ("bloginfo", "ab_arq_change_bloginfo", 10, 2);

Pasul 5 Codul final

Iată produsul final al ceea ce am făcut în această lecție ușoară.

 / * Nume Plugin: Citat aleator al lui Adam Versiune: 0.1 Plugin URI: http://burucs.com Descriere: Inlocuieste descrierea site-ului cu o citare aleatorie Autor: Adam Burucs Autor URI: http://burucs.com * / function ab_arq_generate ( ) $ quotes = array ("Tăcerea este de aur", "Nimic nu este ceea ce pare", "Efectuați totul în regulă!", "Mai bine târziu decât niciodată". returnează cotații $ [rand (0, count ($ quotes) -1)];  funcția ab_arq_change_bloginfo ($ text, $ show) if ('descriere' == $ show) $ text = ab_arq_generate ();  returnați $ text;  add_filter ("bloginfo", "ab_arq_change_bloginfo", 10, 2);

Pasul 6 Sfat pentru bonusuri

Până în prezent v-am arătat elementele de bază pentru crearea acestui plugin, dar ați putea să îl extindeți în câteva moduri dacă v-ați dorit. De exemplu: Ce se întâmplă dacă avem de a face cu mai multe citate? Putem alege din mai multe opțiuni. Mai întâi: am putea crea un fișier suplimentar php cu matricea care să fie inclusă în plugin. În al doilea rând: folosirea unei tabele de baze de date dedicate. În al treilea rând: preluarea datelor de pe un server la distanță (mai multe posibilități de dezvoltare).

Rețineți că dacă alegeți să faceți versiunea dedicată de tabelă, atunci ar trebui să creați o funcție de dezinstalare bună, separată în plugin!

Ca și astăzi am vrut doar să acoperim elementele de bază, totuși, mă voi opri aici și vă voi îndruma către un alt mare articol "Plugin Development Development" de la Tom McFarlin.

Cod