We hebben besproken hoe te doen goed in het vorige deel van deze serie: We leren hoe we betere code kunnen schrijven, hoe we aan de normen kunnen voldoen, hoe we onze code leesbaar kunnen maken voor anderen enzovoort.
In dit artikel zullen we zien hoe te doen slecht: We zullen enkele van de slechtste praktijken bekijken die je kunt volgen bij het bouwen van WordPress-thema's.
Soms is het niet nodig om te doen alles helemaal opnieuw. Als u automotoren maakt, wat zou dan minder tijdrovend en goedkoper zijn: zelf de bouten produceren of bouten kopen bij een boutfabrikant? Het is duidelijk dat de logische stap is om de bouten ergens anders te kopen.
De functiebeschrijving in de WordPress Codex is een plaats met veel verborgen edelstenen. De functie die e-mailadressen onduidelijk maakt - antispambot
- of degene die je reeksen voorzet wanneer nodig met nullen - zeroise
- zijn enkele van de kleinste edelstenen, en er zijn nog veel meer zoals deze.
Het enige wat u hoeft te doen is de referentie van boven naar beneden lezen en kennis nemen van de functies die u nuttig vindt. (QueryPosts.com is ook een nuttige referentie.) Hierbij kan het zijn dat u een functie voor uw thema vindt die handig is waarvan u nooit wist dat deze bestond.
U kunt ook nadenken over functies voor het uitbesteden van uw thema. Als u een jQuery-schuifregelaar nodig hebt, hoeft u geen jQuery-plug-in helemaal opnieuw te schrijven en te integreren in WordPress: u kunt een ontwikkelaarslicentie van een premium jQuery-schuifregelaar kopen of een gratis licentie gebruiken waarmee commercieel gebruik mogelijk is.
In plaats van tijd te verliezen bij het maken van een interface met tabbladen met jQuery, kun je gewoon een veelgebruikte jQuery-plug-in nemen met een geschikte licentie en die gebruiken. Het is niet nodig om een eenvoudige reeks achtergronden voor dagen te ontwerpen - download een met de juiste licentie, gebruik deze en geef de ontwerper de eer!
Waarschuwing: Denk niet dat je de code die je gebruikt niet hoeft te lezen en begrijpen. Wees niet die vent.
Dit is een veel besproken onderwerp binnen de WordPress-gemeenschap: kunnen wij (of zouden wij) bieden functionaliteit binnen WordPress-thema's?
De vuistregel is dit: als de functie over de uiterlijk van de website, zou het in het thema moeten staan, maar als het om de functionaliteit van een website, moet deze als afzonderlijke plug-in worden opgenomen. Dus als je thema de herschrijfregels moet wijzigen of aangepaste berichttypen of taxonomieën moet gebruiken, zou het het beste zijn om deze functies als plug-ins te gebruiken. De TGM Plugin Activation Library zou in dit geval van pas komen.
En dat moet je onthouden je hebt niet het recht om gebruikers in de maling te nemen om je thema voor altijd te gebruiken. Als de door de gebruiker gegenereerde inhoud verdwijnt wanneer ze het thema wijzigen, is dit een fout die de auteur van het thema moet oplossen. Dit gebeurt meestal wanneer een thema gebruik maakt van aangepaste berichttypen en taxonomieën en het moet goed worden gemaakt door gebruik te maken van op maat gemaakte plug-ins.
Er zijn thema's die meer dan 200 achtergrondafbeeldingen en 1000+ pictogrammen klaar voor gebruik bieden. Ze bevatten ook meer dan 2000 shortcodes om uit te kiezen, 10 verschillende schuifregelaars, en natuurlijk hebben ze meer dan 1000 lettertypen beschikbaar.
Geweldig, toch?
Fout. Niemand hoeft uit 10 sliders te kiezen. Niemand zal 200 achtergrondafbeeldingen gebruiken. Niemand kan eventueel gebruik maken van alle 2000 shortcodes die u aanbiedt. Je zult dag en nacht werken aan die functies en meer functies, maar uiteindelijk zullen ze nooit worden gebruikt.
Maar, helaas, het maakt het thema te verkopen. Hoewel het een kardinale zonde is om een 'universeel' thema met alle bovenstaande functies vrij te geven, kunnen we niet betogen dat het de aandacht trekt wanneer een thema zoveel functies heeft, zelfs als je er geen gebruik van maakt. Het is een harde waarheid. Maar de harder De waarheid is dat ze in het begin snel verkopen, maar wanneer mensen zich realiseren dat het niets betekend om 1000 shortcodes te hebben, krijgt het thema een 1-sterrenreview en omzetdaling.
Gelukkig komt deze trend ten einde - we zien de laatste tijd niet veel 'all-purpose themes'. U hoeft geen tijd te verspillen om uw thema geschikt te maken voor elke persoon op aarde: ken uw gebied en maak thema's met realistische functies.
Dit heeft te maken met de 'slechte praktijk' hierboven: wanneer je steeds meer functies in je thema probeert te persen, wordt je thema dik. Jouw img
map wordt dik, jouw js
map wordt dik, jouw bibliotheek
map wordt dik en voordat je het weet, duwt je thema een kwart van een gigabyte. U zou niet een 150MB-thema met meer dan 1000 bestanden in het ZIP-bestand installeren, nietwaar? Natuurlijk niet. Dus maak zoiets niet.
Het zorgt er ook voor dat thema's worden geladen langzamer dan gebruikelijk en soms niet volledig werken. Wanneer u vergeet uw code of uw bezittingen te optimaliseren, doet dit uw klanten letterlijk pijn.
Ik wou dat ik een grap maakte of overdreef, maar ik heb ooit gewerkt met een thema dat het hostingaccount van mijn klant ophief. Het was een gedeeld hostingplan en de website kreeg nog geen hits, maar ik heb een aantal pagina's gemaakt, een voorvertoning getoond en pow, de hostingprovider bood na een schorsing een "beter hostingplan" aan.
Immers, een geoptimaliseerd thema verslaat een opgeblazen thema, ongeacht hoe het dik een ziet er uit. Zorg ervoor dat je thema niets meer laadt dan slechts een paar JavaScript-bestanden, één CSS-bestand, misschien een lettertype en een minimum aantal afbeeldingen. (Vergeet niet hoe handig CSS-sprites zouden kunnen zijn!)
Vergeet ook niet om uw PHP-code te optimaliseren: leer hoe u minder databasequery's maakt en minder PHP-functies gebruikt.
Dus dit waren de dingen die je bent niet zou moeten doen. Ik hoop dat jij (en ikzelf, als een thema-ontwikkelaar) deze fouten niet maken tijdens het ontwikkelen van nieuwe WordPress-thema's.
Heeft u toevoegingen aan deze slechte praktijken? Deel hieronder je gedachten en ervaringen!