Vi diskuterte hvordan å gjøre flink i den forrige delen av denne serien: Vi lærer hvordan du skriver bedre kode, hvordan du overholder standardene, hvordan du gjør koden lesbar av andre og så videre.
I denne artikkelen skal vi se hvordan vi skal gjøre dårlig: Vi går gjennom noen av de verste rutene som man kan følge når man bygger WordPress-temaer.
Noen ganger er det ikke nødvendig å gjøre alt fra bunnen av. Hvis du produserte bilmotorer, ville det være mindre tidkrevende og billigere: Fremstille boltene selv, eller kjøp bolter fra en boltprodusent? Tydeligvis ville det logiske trekket være å kjøpe boltene fra et annet sted.
Funksjonsreferansen i WordPress Codex er et sted med mange skjulte perler. Funksjonen som forvirrer e-postadresser - antispambot
- eller den som preger dine strenger med nuller når det er nødvendig - zeroise
- er noen av de minste smykkene, og det er mange flere som disse.
Alt du trenger å gjøre er å lese referansen fra topp til bunn og ta del av funksjonene du finner nyttige. (QueryPosts.com er også en nyttig referanse.) Ved å gjøre dette kan du finne en funksjon for ditt tema som er nyttig som du aldri visste eksisterte.
Du kan også tenke på outsourcingfunksjoner for temaet ditt. Hvis du trenger en jQuery-glidebryter, trenger du ikke skrive et jQuery-plugin fra begynnelsen og integrere det med WordPress: Du kan kjøpe et utviklerkort av en premium jQuery-glidebryter eller bruke en gratis en som tillater kommersiell bruk.
I stedet for å miste tid på å lage et flatt grensesnitt med jQuery, kan du bare ta et mye brukt jQuery-plugin med en passende lisens og bruke det. Du trenger ikke å utforme et enkelt sett med bakgrunn for dager - last ned en med riktig lisens, bruk det og gi kreditt til designeren!
Advarsel: Tror ikke at du ikke trenger å lese og forstå koden du bruker. Ikke vær den fyren.
Dette er et mye diskutert emne på tvers av WordPress-fellesskapet: Kan vi (eller skal vi) gir funksjonalitet innenfor WordPress-temaer?
Tommelfingerregelen er dette: Hvis funksjonen handler om visuelt utseende av nettstedet, bør det være i temaet, men om det handler om funksjonalitet av et nettsted, bør det inkluderes som et eget plugin. Så hvis temaet ditt må endre omskrivningsreglene eller gjøre bruk av egendefinerte innleggstyper eller taksonomier, vil det være best å betjene disse funksjonene som plugins. TGM Plugin Activation Library vil være nyttig i dette tilfellet.
Og du bør huske på det Du har ikke rett til å shackle brukere for å bruke temaet ditt for alltid. Hvis det brukergenererte innholdet forsvinner når de endrer temaet, er dette en feil som forfatteren av temaet skal fikse. Dette skjer vanligvis når et tema gjør bruk av egendefinerte innleggstyper og taksonomier, og det bør gjøres rett ved å bruke tilpassede plugins.
Det er temaer som tilbyr 200 + bakgrunnsbilder og 1000 + ikoner klar til bruk. De inneholder også over 2000 kortkoder å velge mellom, 10 forskjellige skyveknapper, og selvfølgelig har de over 1000 skrifter tilgjengelig.
Awesome, rett?
Feil. Ingen trenger å velge mellom 10 skyveknapper. Ingen vil bruke 200 bakgrunnsbilder. Ingen kan muligens bruke alle 2000 kortkodene du tilbyr. Du vil jobbe dag og natt på disse funksjonene og flere funksjoner, men til slutt blir de aldri brukt.
Men dessverre gjør det temaet å selge. Selv om det er en kardinal synd å frigjøre et "all-purpose" -tema med alle funksjonene ovenfor, kan vi ikke argumentere for at det trekker oppmerksomhet når et tema har så mange funksjoner, selv om du ikke vil bruke noen av dem. Det er en vanskelig sannhet. Men hardere sannheten er at de selger fort i begynnelsen, men når folk innser at det ikke betyr noe å ha 1000 kortkoder, får temaet en 1 stjerne anmeldelse og salgsdråpe.
Heldigvis er denne trenden kommet til slutt - vi ser ikke mange "allsidige temaer" i det siste. Du trenger ikke å kaste bort tid for å gjøre temaet ditt egnet for hver eneste person på jorden: Kjenn din nisje og lage temaer med realistiske egenskaper.
Dette er knyttet til "dårlig praksis" ovenfor: Når du prøver å presse flere og flere funksjoner i temaet ditt, blir temaet ditt fett. Din img
mappen blir feit, din js
mappen blir feit, din bibliotek
mappen blir fett, og før du vet det, skyver temaet en fjerdedel av en gigabyte. Du ville ikke installere et 150MB-tema med 1000 + filer i sin ZIP-fil, ville du? Selvfølgelig ikke. Så ikke gjør noe sånt.
Det forårsaker også temaer å laste langt tregere enn vanlig og noen ganger unnlater å jobbe helt. Når du glemmer å optimalisere koden din eller dine eiendeler, gjør den bokstavelig talt dine kunder skade.
Jeg skulle ønske jeg var å tull eller overdrive, men jeg jobbet en gang med et tema som suspenderte kundens hostingkonto. Det var en delt hosting plan, og nettsiden fikk ikke engang noen treff ennå, men jeg opprettet noen sider, forhåndsviste dem og pow, hosting leverandøren tilbød en "bedre hosting plan" etter suspendering.
Tross alt, et optimert tema slår et oppblåst tema, uansett hvordan fett en ser ut. Pass på at temaet ditt ikke inneholder noe mer enn bare noen få JavaScript-filer, en CSS-fil, kanskje en skrift og et minimums antall bilder. (Ikke glem hvordan hendig CSS sprites kan være!)
Ikke glem å optimalisere PHP-koden din: Lær hvordan du lager færre databasespørsmål og bruk færre PHP-funksjoner.
Så, disse var tingene du er ikke ment å gjøre. Jeg håper du (og meg, som temautvikler) ikke gjør disse feilene mens du utvikler nye WordPress-temaer.
Har du noen tillegg til disse dårlige praksisene? Del dine tanker og erfaringer nedenfor!