Vijesti o Tehnologiji, Recenzije i Savjeti!

Rasprava o WordPress prilagođenim vrstama posta: Functions.php ili Dodaci?

Kao što mnogi od vas znaju, prošli je tjedan Syed Balkhi prisustvovao WordCamp Raleighu 2012. Za vrijeme događaja jedan od njenih tweetova izazvao je veliku raspravu. U ovom ćemo članku naš osnivač Syed Balkhi razgovarati o tome pripadaju li prilagođene vrste postova WordPress datoteci function.php ili dodacima. Ispod je tweet koji je započeo ovu raspravu:

Ne dodajte prilagođene vrste posta u funkcije.php -> Uvijek biste trebali upotrebljavati dodatak određenu web lokaciju: wpbeg.in/vcXr7j #wcraleigh

– WordPress početnik (@wpbeginner) 4 Studenog 2012

Nakon tvita ušli su mnogi ugledni ljudi iz WordPress zajednice. Cijeli razgovor možete vidjeti ovdje. Curtis McHale otišao je korak dalje i detaljnije razradio tu temu u svom novom postu na blogu.

Razgovor od Twitter donio neke sjajne bodove.

Sažetak argumenata

Argument dodatka: Korisnik će uvijek imati podatke, čak i ako promijeni temu. Možda ne izgleda tako lijepo, ali tako će i ostati.

Functions.php argument: Podaci bez dizajna bili bi nebitni. Zbunit će korisnike još više.

Na kojoj se strani najviše slažete? Obje strane očito imaju svoje probleme, ali što je manje od dva zla?

Evo zašto mislimo da bi trebale prilagođene vrste posta ZAUVIJEK žive u dodatku za određenu web lokaciju ili u potpunosti.

Dugo žive podaci

Prilagođene vrste posta su podaci. U većini slučajeva vaši će podaci preživjeti trenutni dizajn. Promijenivši naše teme nekoliko puta, tu tvrdnju jasno razumijemo. Postovi, stranice, veze, prilozi i recenzije sve su vrste postova koji su uključeni u WordPress. Pored toga, imamo vrste publikacija poput knjiga, svjedočenja, ponuda itd. Možete li zamisliti da promijenimo temu i nestanemo? Sigurno ne želimo da se to dogodi.

Imajući programere u našem timu, to ne bi trebalo mnogo značiti. S obzirom da su sve naše teme prilagođene našim timima, kakva je to razlika? Tajna je u dvije riječi: vremenu i centralizaciji. Sve dok imamo sve potrebne podatke, sve što u budućnosti moramo učiniti je promijeniti stil. Nećemo se morati brinuti oko kopiranja i lijepljenja funkcija iz jedne datoteke u drugu svaki put. Što ako želite ponoviti funkcionalnost? Samo zgrabite dodatak i bacite ga na svoju novu stranicu. Promijenite stil i gotovi ste.

Pravila i standardi

Kad upotrijebite riječ UVIJEK kao što smo i mi napravili u tvitu, ona može značiti i pravila i standarde. I pravila i propisi napravljeni su za većinu. Uvijek će postojati posebni scenariji u kojima su pravila savijena, a standardi kršeni, ali to ne znači da bismo se standarde trebali u potpunosti riješiti.

Postoje tone generičkih poštanskih vrsta koje primarno zahtijevaju isti skup dodatnih metafilija. Neki primjeri koji nam padnu na pamet bi bili: citati, knjige, recepti, svjedočanstva, portfelj itd.

S obzirom na velik broj fotografija i portfeljskih tema koji su dostupni na slobodnom i komercijalnom tržištu, gotovo da i nema smisla navesti korisnika da ponovno unese sve svoje prilagođene informacije o vrsti posta svaki put kada promijeni temu. Pogledajmo primjer slučaja:

Fotograf – Korisnik je konfigurirao WordPress koji ima funkciju bloga (zadani CPT "post"). Želite dodati portfelj svog rada (potreban je CPT portfelj). Želite pokazati svjedočanstva kupaca (zahtijeva CPT testimonial). Sve će ove informacije zasigurno biti izvan dizajna teme. Godinu dana kasnije, korisnik želi promijeniti izgled svoje web stranice i ažurirati je. Pronađite novu temu koja ima sve slične funkcije. U trenutku kad se tema promijeni, BOOM. Svi prethodni podaci koje ste unijeli su nestali. Postoji izbornik zvan Portfolio i izbornik koji se zove Testimonials, no nema podataka. Korisnik misli "HOLY SHIT, izgubio sam sav svoj sadržaj." Stvorite nova pitanja podrške na forumu. Pošaljite e-poštu na web mjesta poput WPBeginner itd. Ako ne dobiju dobar odgovor, moraju ponovno unijeti sve podatke. Ovo je užasno korisničko iskustvo.

Pa kako riješiti ovaj problem?

Moguće rješenje?

Stvaramo novu standardnu ​​bazu. Justin Tadlock već je s vremenom počeo raditi na ovom pitanju stvarajući bazni dodatak za portfelj. Hoće li to biti savršeno rješenje za sve? NE, ali bit će za većinu.

Kao što Justin pita u svom postu, koja bi standardna polja trebala biti uključena u dodatak za portfelj (koji se odnosi na meta cilj). Ova vrsta razgovora trebala bi se odvijati između programera koji stvaraju sličnu funkcionalnost u svojim temama. Zašto kopirati i lijepiti istu stvar iznova i iz više tema u drugu, kada se to može učiniti pomoću dodatka? Jednom kada to postane standard, drugi će se autori tema početi prilagođavati njemu.

Primjerice, vidimo porast stilske podrške za Gravity Forms u okvirima tema WordPressa poput Genesisa i drugih. Zašto? Budući da razumiju da ih njihovi korisnici koriste.

Postoje neke snažne WordPress teme koje se napune funkcionalnošću za koju smatramo da bi trebali biti dodaci. Teme oglasne ploče, teme praćenja izdavanja, teme o oglasima, teme nekretnina itd. Svi bi trebali raditi s osnovnim dodatkom. Ya está događa s WooCommerce. WooThemes je objavio brojne teme koje imaju ugrađenu podršku za stil dodatka. Druge tematske tvrtke također su obećale da će pokrenuti teme e-trgovine temeljene na WooCommerceu. Možete prelaziti iz jedne teme u drugu i zadržati sve svoje proizvode takvima kakvi jesu. Gotovo je kao da se tema mijenja, ali sve je samo sjelo na svoje mjesto. To je iskustvo promjene teme za koju se moramo boriti.

Zašto ne učiniti isto s Portfolio, Testimonials i drugim vrstama generičkih personaliziranih publikacija? Je li to zato što je previše jednostavno vs. e-trgovina je veća zvijer koju treba osvojiti? Jasno je da e-trgovina ima previše polja u odnosu na ostala, tako da bi trebalo biti puno lakše za ove generičke vrste pošta. Samo je stvar svjesnog napora da poboljšate stvari.

Pogledajte dodatak ReciPress. Izradite prilagođeni metabox s receptnim poljima i priložite ga postovima. No možete je priložiti s prilagođenim vrstama posta. Svatko tko koristi ovaj dodatak može promijeniti teme bez prolaska kroz toliko gnjavaže.

Bilo bi lijepo vidjeti teme poput AgentPressa koji rade s centraliziranim osnovnim dodatkom. Bilo bi sjajno vidjeti da tranzicija promjena teme postaje lakša. Na primjer, ako se korisnik promijeni iz jedne teme fotografije u drugu, to ne bi trebao biti kaos. Mogu se dogoditi manje pogreške, ali barem na širokoj slici stvari će uspjeti.

Uvijek možete dati primjere super prilagođenih vrsta posta stvorenih za jednokratnu upotrebu klijenta, ali to je iznimka, a ne pravilo.

Što mislite o ovoj temi? Gdje bi trebao stajati prilagođeni kôd vrste posta? U datoteci function.php ili dodacima?