Publicitate
Unul dintre avantajele utilizării WordPress este flexibilitatea sa. Nu este doar pentru postări și pagini: tipurile de postări personalizate pot extinde funcțiile de bază la aproape orice.
Să aruncăm o privire astăzi la ce ai putea face cu tipurile de postări personalizate, precum și un exemplu practic rapid despre cum poți crea o listare de evenimente folosind un tip de post personalizat numit Eveniment.
Notă: Acest tutorial ar trebui să fie luat în considerare doar în scopuri educaționale, astfel încât să puteți afla codul folosit pentru a crea tipuri de postare personalizate. Dacă doriți de fapt un plugin de listare a evenimentelor grozave pentru site-ul dvs. WordPress, încercați Calendarul evenimentelor, care este bine dezvoltat și gratuit.
Ce sunt tipurile de postare personalizate în WordPress?
De obicei, un site WordPress constă din două tipuri de conținut: postări pe bloguri datate și pagini statice. Cei mai mulți dintre noi care avem configurați un blog WordPress Configurați-vă blogul cu WordPress: Ghidul final Vrei să începi propriul blog, dar nu știi cum? Uitați-vă la WordPress, cea mai puternică platformă de blog disponibilă astăzi. Citeste mai mult sunt familiarizați cu faptul că paginile ar trebui utilizate pentru lucruri precum „Despre mine” sau „Informații de contact”, în timp ce postările obișnuite merg pe blogul tău.
Dar, dincolo de asta, ce se întâmplă dacă doriți să adăugați un alt tip special de conținut care nu intră într-adevăr în ordinea cronologică a blogului și, cu siguranță, nu este static? Acolo vin tipurile de postări personalizate.
O solicitare destul de obișnuită pentru site-uri de cluburi sau grupuri este de a avea un fel de calendar de evenimente. O soluție care ar putea fi aplicată este crearea unei categorii separate de postări Evenimente. Problema cu aceasta este că vor fi afișate în cronologia principală a blogului, iar noi ar trebui să separăm în întregime cele două concepte.
În acest scop, să creăm un nou tip de post numit eveniment, care va avea propria secțiune separată a interfeței de administrare.
Cum să creați un tip de postare personalizat în WordPress
Vom face acest lucru prin ajustarea directă a fișierelor dvs. tematice. Puteți obține același efect printr-un plugin, dar pentru a demonstra conceptul și practica este mai ușor să le scrieți direct. Dacă nu vă simțiți confortabil, luați în considerare utilizarea Pluginul meu Funcții personalizate, care vă permite să adăugați cod nedistructiv.
Funcțiile mele personalizate
Deschideți tema dvs. functions.php fișier, stocat în folderul tematic din interior wp-content / teme; sau utilizați pluginul Funcții personalizate la care veți găsi Setări > PHP Inserter. La sfârșitul fișierului, adăugați acest cod:
add_action ('init', 'events_init'); function events_init () {$ args = array ('labels' => array ('name' => __ ('Events'), 'singular_name' => __ ('Event'),), 'public' => true, 'has_archive' => true, 'rescrie' => array ("slug" => "evenimente"), 'supports' => array ('thumbnail', 'editor', 'title', 'custom-fields')); register_post_type ('evenimente', $ args); }
Asigurați-vă că faceți acest lucru înainte de php-ul de închidere (?>) etichetați, dacă există unul din dvs. functions.php fişier.
Luați ceva timp să citiți codul. Declarează unele proprietăți (cum ar fi etichetele pentru interfață) și modul în care trebuie gestionate adresele URL (rescrieri), precum și ce caracteristici acceptă acest tip post. Puteți, de exemplu, să adăugați un câmp personalizat tipului dvs. de postare personalizat cu proprietatea support.
În acest caz, am declarat tipul nostru de eveniment pentru a accepta miniaturi, un editor de conținut pentru descrierea evenimentului, titlul evenimentului și câmpurile personalizate. De asemenea, am adăugat has_archive, astfel încât navigarea către pagina evenimentelor va aduce o arhivă a tuturor evenimentelor, similară cu un blog.
Asta este, acum dacă vă salvați tema și vă reîncărcați blogul, presupunând că nu aveți nicio eroare, ar trebui să vedeți acum o secțiune de evenimente noi în bara laterală de administrare. Ura!

Adaugă acum câteva exemple de evenimente.

Atunci, deoarece acesta este un eveniment, creați un câmp personalizat numit Data pentru a indica când va avea loc evenimentul. Utilizare ll / zz / aaaa format.

Rețineți că trebuie să utilizăm câmpuri personalizate pentru a specifica data reală a evenimentului, mai degrabă decât data postării, deoarece data postării reprezintă momentul publicării anunțului. Deoarece probabil că adăugați evenimente care vor avea loc în viitor, setarea datei de publicare la data evenimentului real nu ar fi inutilă.
Dacă încercați să vedeți evenimentul în acest moment, este posibil să primiți o eroare 404. Acest lucru se datorează faptului că WordPress trebuie să-și regenereze structura URL permanentă pentru a da socoteală pentru acest nou tip de post. Îndreptați-vă spre Setări> Permalink pagina și apăsați din nou pentru a salva.
Acum ar trebui să poți vizualiza postarea individuală a evenimentului. Rețineți că prima parte a adresei URL, după numele de domeniu, este /events/. Am ales acest lucru în această linie de cod:
'rescrie' => array ("slug" => "evenimente"),
Personalizați pagina cu lista de evenimente
Acum, că aveți toate aceste evenimente fantastice în blogul dvs., ar fi frumos să le enumerați undeva. Pentru aceasta, vom crea un șablon de pagină special, astfel încât să puteți adăuga apoi pagina respectivă în elementele de meniu obișnuite, alături de Despre sau de contact.
Întrucât am specificat deja că tipul de postare a evenimentului ar trebui să aibă o arhivă, puteți merge înainte și a vedea care este implicit vizitând /events/. Pe tema standard de douăzeci și șaptesprezece de pe site-ul meu de testare, am obținut aceasta:

Personalizarea acestei ieșiri va depinde de ce temă utilizați, iar acoperirea întregului sistem de șablonare WordPress este în afara domeniului de aplicare al acestui articol. Cu toate acestea, de dragul acestui tutorial, presupun că utilizați douăzeci și șaptesprezece.
Începeți prin crearea unei copii din archive.phpși redenumiți-l la Arhiva-events.php. Acesta este un convenție de denumire standard asta înseamnă că WordPress va utiliza automat acest șablon pentru a afișa arhiva pentru tipul de post pentru evenimente.
La examinarea dosarului, cei douăzeci și șaptezeci de autori au oferit un mecanism de format post, care este prea complex pentru nevoile noastre:
/* * Includeți șablonul specific pentru post-format pentru conținut. * Dacă doriți să treceți peste o temă pentru copil, atunci includeți un fișier. * numit conținut -___. php (unde ___ este numele de format post) și care va fi utilizat în schimb. */ get_template_part ('template-parts / post / content', get_post_format ());
Notă: O temă pentru copii este recomandată deoarece orice actualizare a temei originale va suprascrie modificările. Acest Articol de suport WordPress descrie procesul de creare a unei teme pentru copii pentru douăzeci și șaptesprezece. Pe scurt, o să lucrez doar pe tema inițială și nu îmi pasă dacă munca mea se pierde într-o actualizare ulterioară.
Tăiați blocul întreg și lipiți în continuare următoarele. Aceasta este doar o copie simplificată a ceea ce există în acele șabloane de format post, de dragul învățării:
php echo ' ', '
'); php if (''! == get_the_post_thumbnail () &&! este singur() ): '; the_title ('php endif; php the_content (sprintf ('Continuați să citiți "% s" ', get_the_title ()));
Dacă salvați și previzualizați din nou pagina Evenimente, veți observa că acum are date. Dar greșesc. În prezent, aceștia afișează data publicării în loc de data evenimentului. Ca o ultimă etapă, să o schimbăm în data reală a evenimentului. Găsiți bitul care generează timpul, twenty_seventeen_time_link ()
și înlocuiți-l cu următoarele:
data ('l jS F Y', strtotime (get_post_meta (get_the_ID (), 'date', true)))
Aceasta obține data din câmpul meta meta pe care l-am setat, apoi utilizăm PHP Data() funcție pentru a-l formata la ceva mai lizibil.

Pasii urmatori?
Dacă nu sunteți nemulțumit de gazda dvs. web actuală, vă recomandăm să folosiți o gazdă WordPress gestionată, cum ar fi Motor WP, pe care noi înșine îl folosim pentru site-urile noastre surori. În caz contrar, InMotion Gazduire oferă planuri accesibile, care sunt chiar mai ieftine cu reducerea noastră specială atunci când utilizați acest link.
Apoi, rețineți că, atunci când am creat tipul postării evenimentului, am codificat deja suportul pentru miniaturile prezentate. Folosiți ghidul nostru pentru imagini prezentate și postări de miniaturi Ghidul complet pentru miniaturi și dimensiuni de imagini în WordPressIată tot ce trebuie să știți despre dimensiunile imaginilor în WordPress și gestionarea imaginilor prezentate. Citeste mai mult să apucați și să afișați o imagine prezentată în arhiva cu listarea evenimentelor.
James are licență în inteligență artificială și este certificat CompTIA A + și Network +. Este dezvoltatorul principal al MakeUseOf și își petrece timpul liber jucând VR paintball și boardgames. Construiește calculatoare de când era mic.