Multe bloguri populare din zilele noastre sunt create de mai mulți colaboratori. Astăzi, vom crea un plugin simplu WordPress care ne va permite să adăugăm biografia autorului postării la încheierea fiecărui post, la fel cum vedeți pe Nettuts.
Dacă nu afișezi deja informațiile biografice ale autorilor, atunci poți adăuga și edita informații biografice, îndreptându-te spre panoul utilizator din interiorul tabloului de bord WordPress, selectând un utilizator și completat un bio bio rapid. Vom adăuga, de asemenea, un gravatar pentru autor, deci asigurați-vă că ați setat și o adresă de e-mail.
Va trebui să creați un singur fișier care să conțină funcționalitatea pluginului nostru. Activați FTP de alegere și, în cadrul wp-content / plugins / folder, creați un fișier numit ntauthorbio.php. Pentru ca WordPress să recunoască plugin-ul nostru, trebuie să creați un comentariu de antet rapid în fișierul nostru, la fel cum faceți în partea de sus a stil.css. Inserați următorul cod în fișierul dvs. și, bineînțeles, efectuați ajustări corespunzătoare.
/ * Plugin Nume: Nettuts Autor Bio Plugin URI: http://www.nettuts.com/ Descriere: Acest plugin adaugă un bio autori la postul său Autor: nettuts Versiune: 0.1 Autor URI: http: //www.nettuts .com / * /
Apoi, vom crea baza pentru plugin-ul nostru. Inserați următoarele după antetul pentru comentariul de deschidere.
funcția author_bio_display ($ content) // acesta este locul în care vom afișa funcția bio author_bio_style () // acesta este locul în care vom modela caseta noastră funcția autor_bio_settings () // aici vom afișa optiunea admin options function autor_bio_admin_menu () // aici adaugam plugin-ul nostru in meniul admin add_action ('the_content', 'author_bio_display'); add_action ('admin_menu', 'autor_bio_admin_menu'); add_action ('wp_head', 'author_bio_style');
"Cârligele sunt furnizate de WordPress pentru a permite plug-in-ului să" creeze "în restul WordPress, adică să apeleze funcții în plugin-ul dvs. la anumite momente și astfel să setați pluginul în mișcare."
Deasupra am creat patru funcții pe care pluginul nostru le va cere să funcționeze corect. Fiecare funcție are un scop specific (așa cum a fost comentat mai sus) și, de asemenea, fiecare este legat de o acțiune specifică (cu excepția author_bio_settings, care va fi chemat dintr-o altă funcție.
Când dezvoltați pluginuri, este important să înțelegeți ce este un "cârlig". Un cârlig este un loc în ciclul de alergare în care putem să cârlig în WordPress și să ne sunăm funcțiile. De exemplu, cârligul folosit mai sus, pentru author_bio_display, este continutul; acest lucru înseamnă că atunci când WordPress utilizează continutul (utilizat pentru afișarea conținutului principal al mesajului / paginii), acesta va apela mai întâi funcția pe care io oferim.
Funcția cea mai importantă în pluginul nostru este funcția de afișare, care va gestiona procesul de afișare efectivă a informațiilor după conținut. Înainte de a începe, este important să rețineți că această funcție acceptă un parametru numit conținut $. Acest lucru înseamnă că conținutul paginii / postului este transmis funcției noastre, astfel încât să putem adăuga autorul nostru bio.
Să începem cu o simplă declarație if / else.
funcția author_bio_display ($ content) // aici vom afișa bio if (is_single () || is_page ()) $ bio_box = // placeholder; returneaza continutul $. $ Bio_box; altceva return $ content;
Mai sus, verificăm dacă conținutul este afișat într-o singură postare folosind este singur(), sau folosind o pagină is_page (). Dacă se întoarce fie adevărat, putem posta căsuța noastră care va fi plasată în $ bio_box variabil. În caz contrar, dacă ne aflăm pe o pagină diferită, cum ar fi arhiva sau prima pagină, ar trebui să returnăm pur și simplu conținutul neatins.
Acum trebuie să adăugăm codul nostru pentru ca caseta să apară, schimbați-vă $ bio_box pentru a se potrivi cu următorul cod.
$ bio_box = ''.get_avatar (get_the_author_meta (' user_email '),' 80 ').' '.Get_the_author_meta ( 'DISPLAY_NAME').'„;'.Get_the_author_meta ( 'descriere').'
Stilul, desigur, poate fi schimbat mai târziu pentru a se potrivi propriilor dvs. gusturi, dar deocamdată vom folosi o cutie simplă și vom adăuga câteva CSS stil.
Folosim câteva funcții de mai sus pentru a prelua datele solicitate. get_avatar () este o funcție încorporată în WordPress care va returna gravatarul unui utilizator, dacă are unul, conform e-mailului. Noi trecem get_avatar () funcționează doi parametri; e-mailul autorului și o dimensiune a imaginii (80px * 80px în cazul nostru).
Functia get_the_author_metapoate recupera orice informație despre un utilizator WordPress înregistrat. O listă completă a elementelor pe care le puteți întoarce poate fi găsită pe WordPress Codex.
Dacă rulați acum plugin-ul nostru, ar trebui să vedem ceva care seamănă cu acesta:
Nu este cea mai frumoasă biografie, dar acum avem funcționalitatea de bază pe care o urmăm. Dacă aveți în continuare probleme, asigurați-vă că autorul postului / paginii are o biografie și / sau gravatar, precum și asigurați-vă că plugin-ul a fost activat în secțiunea de pluginuri a tabloului de bord. Hai să stilim lucrurile în continuare.
Dacă ești un designer, iată șansa ta de a face așa cum îți place! Codul de mai jos este suficient pentru a face caseta noastră să pară curată și simplă. Pentru a oferi un exemplu de modul în care poate fi folosit wp_head (), vom introduce CSS pentru această casetă în eticheta head a documentului nostru. Cu toate acestea, puteți, de asemenea, plasați acest lucru în foaia de stil.
Această funcție autor_bio_style () trebuie să returneze un bloc simplu de CSS.
funcția autor_bio_style () // acesta este locul în care vom modela ecoul casetei noastre "„;
Codul de mai sus nu necesită prea multe explicații; CSS este dincolo de sfera acestui tutorial. În general, creăm doar o cutie cu graniță și plutește imaginea din stânga. În cele din urmă, adăugăm un distanțier pentru a vă asigura că caseta este suficient de mare pentru a se potrivi imaginii și textului. De asemenea, ați putea folosi hack-ul clar, sau chiar prea mult: ascuns pentru a obține acest efect. În cele din urmă, acest lucru va depinde de aspectul dvs. specific.
Noua ta cutiuta ar trebui sa arate ca mine acum; Vezi mai jos.
Înainte de a încheia, să luăm o privire la adăugarea unei pagini de setări în tabloul de bord pentru pluginul nostru. Cele mai multe pluginuri se bazează pe o anumită secțiune de setări pentru a oferi o mai mare flexibilitate fără ca utilizatorul să fie nevoit să editeze orice cod.
Există numeroase opțiuni pe care le putem adăuga; cum ar fi, în cazul în care caseta apare (de sus sau de jos), culorile folosite, exclude anumiți utilizatori și așa mai departe. Pentru acest tutorial, am ales să specificați dacă plugin-ul poate apărea numai pe pagini, numai pe posturi sau pe ambele. Sperăm că acest lucru va fi suficient pentru a vă arăta funiile. În acest moment, puteți extinde funcționalitatea după cum considerați potrivit.
Trebuie să setăm o pagină în tabloul de bord al administratorului. Pentru a face acest lucru, trebuie să spunem WordPress ce să facă atunci când admin_menu acțiuni de declanșare a acțiunii. Pentru a compensa, ne vom edita author_bio_admin_menu () pentru a arata ca codul de mai jos:
funcția author_bio_admin_menu () // aici adăugăm plugin-ul nostru în meniul de administrare add_options_page ('Autor Bio', 'Autor Bio', 9, basename (__FILE__), 'autor_bio_settings');
Codul de mai sus creează o pagină de opțiuni în tabloul de bord și transmite următorii parametri:
Apoi trebuie să furnizăm paginii un anumit conținut. De când am sunat author_bio_settings () la crearea paginii, aceasta este funcția pe care o vom folosi pentru a afișa formularul de opțiuni și pentru a actualiza baza de date.
Pur și simplu pus, această funcție trebuie să afișeze un formular cu opțiunile. De asemenea, trebuie să verificați dacă formularul a fost trimis și, dacă este cazul, să stocați noile valori în baza de date. În primul rând, să ne concentrăm pe crearea formei.
funcția autor_bio_settings () // aici vom afișa opțiunile de admin $ opțiuni ['page'] = get_option ('bio_on_page'); $ opțiuni ['post'] = get_option ('bio_on_post'); echo "'$ Mesaj'.„;Autor Bio Setări
Începem prin a lua câteva opțiuni din baza de date. Desigur, în prezent nu avem o metodă pentru a le seta încă, deci vor fi goale pentru moment. Apoi, afișăm formularul, care este deja desenat de CSS-ul de bord al lui WordPress. Veți observa că afișăm o variabilă (în prezent dezactivată) numită $ mesaj; acest lucru este posibil pentru a putea notifica utilizatorul atunci când actualizăm setările dacă a reușit.
Imprimați opțiunile noastre la sfârșitul codului casetei de selectare. Dacă utilizatorul pornește o opțiune, trebuie să o stocăm în baza de date ca fiind "verificată" pentru a bifa caseta de selectare. Funcțiile pe care le folosim pentru a obține și seta opțiunile sunt get_option () și update_option () respectiv. Funcția get necesită numele opțiunii (deci este important să fie unic), iar opțiunea de actualizare are nevoie de numele opțiunii și de noua valoare. Dacă funcția de actualizare nu găsește opțiunea, ea creează pur și simplu una nouă.
Până în prezent, pagina dvs. ar trebui să arate ca:
Acum, să adăugăm codul nostru pentru a lua valorile trimise de formular și pentru a actualiza opțiunile din baza de date. Formularul conține o valoare ascunsă, numită acțiune, care este setat să "actualizeze". Vom verifica dacă această valoare este setată și, dacă da, ne actualizăm opțiunile. Acest cod trebuie să fie plasat în partea de sus a site-ului nostru autor_bio_settings () funcţie.
dacă ($ _POST ['action'] == 'actualizează') $ _POST ['show_pages'] == 'pe'? update_option ('bio_on_post', 'checked'): update_option ('bio_on_post', 'bio_on_post', ' „); $ message = '„;Optiuni salvate
Dacă formularul a fost trimis, folosim operatorul ternar (dacă nu sunteți sigur de modul în care funcționează acestea, căutați-le - sunt o formă simplă de dacă / nu) pentru a verifica dacă casetele de selectare sunt bifate sau nu. Dacă sunt, atunci am setat opțiunea ca "verificată;" altfel l-am setat ca necompletat. În final, am setat mesajul afișat într-un dialog de succes, deja creat de WordPress.
Acum, ar trebui să putem seta opțiunile și să le vedem modificate în pagina opțiunilor noastre; cu toate acestea, funcționalitatea pluginului nostru nu se va modifica încă, deoarece nu i-am spus să facă acest lucru. Deci, ultimul pas în proiectul nostru este de a face ca funcția afișajului să reacționeze la aceste opțiuni. În a noastră author_bio_display () funcția, prefixați următorul cod în partea de sus, pentru a obține opțiunile stabilite anterior.
$ opțiuni ['pagina'] = get_option ('bio_on_page'); $ opțiuni ['post'] = get_option ('bio_on_post');
Acum, când avem aceste valori, trebuie să executăm codul de afișare numai dacă opțiunea este setată. Pentru a face acest lucru, vom schimba instrucțiunea if în consecință.
dacă (is_single () && $ opțiuni ['post']) || (is_page () && $ opțiuni ['pagina']))
Aici am implementat două condiții care, dacă sunt îndeplinite, vor determina afișarea casetei noastre. Nu prea tare, nu? Iată pluginul nostru complet:
".get_avatar (get_the_author_meta (" user_email ")," 80 ")." ".Get_the_author_meta ( "DISPLAY_NAME")."".Get_the_author_meta ( "descriere")."
Optiuni salvate
Sperăm că dacă totul ar merge conform planului, ar trebui să aveți acum o casetă de biografie a autorilor lucrărilor după postările / paginile dvs. Mai mult, aveți acum o pagină de setări personalizate în tabloul de bord WordPress, că sunteți liber să extindeți modul în care considerați că este necesar.
Vă mulțumim că ați citit prima mea postare pe Nettuts. Dacă aveți întrebări, vă rugăm să lăsați un comentariu mai jos!