Professionell WordPress Utveckling Strategier

Att arbeta i WordPress-samhället är både en välsignelse och en förbannelse. På grund av sin open source-natur har vi en fantastisk plattform för att bygga webbplatser, teman, plugins och till och med applikationer. Det har en smart community kring det, rik dokumentation och standarder som syftar till att ge vägen att skriva kod för det och vägen att bygga verktyg kring det.

Samtidigt tillåter WordPress öppen källkod och de språk som den bygger till att någon ska skicka sitt arbete oavsett om det är upp till någon form av standard eller använder någon form av bästa praxis. För många användare är de ingen klokare om vad som händer under huven. Om produkten fungerar är de glada.

Som människor som är allvarliga om deras hantverk kan vi absolut inte bosätta sig för att "bara få det till jobbet." Vi ha att bry sig om vad som ligger under huven.

Om du är en seriös WordPress-utvecklare, har du troligtvis redan en metod för hur du jobbar, men om du bara har börjat eller letar efter att definiera dig själv som en professionell WordPress-utvecklare, finns det strategier, miljöer och verktyg som du kan använda som kan hjälpa till.

I denna tre artikelserie ska vi titta på exakt vad de är och hur de gäller i vårt projektarbete. Först börjar vi med strategier.


Filorganisation

En väsentlig del av byggprogrammet upprätthåller faktiskt det efter den inledande lanseringen. Sanningen är att mer tid faktiskt spenderas i att behålla projekt än att bygga dem. Det är vettigt, eller hur? En produkt existerar långt längre än vad som krävs för att skapa den och, förutsatt att den är av hög kvalitet, kommer användarna att hitta fel och begära nya funktioner.

Tyvärr är en betydande mängd underhållstid spenderad på att få en bugglösning eller snabbt lägger till en ny funktion och görs ofta så på ett sätt som fokuseras mer på att bara få det gjort än att få det gjort rätt. Det här är inte helt fel heller - när en produkt är knuten direkt till ett företag, så är tiden en prioritet.

Men det finns saker som kan göras under den första utvecklingen som kan gå långt för att göra det enklare att behålla en produkt efter lanseringen.

För teman

WordPress Codex ger en omfattande guide för hur man bygger teman. Den täcker stilsortsguider, mallfiler, JavaScript-information, testriktlinjer, checklistor och olika referenser. Även om du arbetar med att bygga teman rekommenderar jag starkt att du granskar den här listan från tid till annan.

Förutom att följa basens uppsättning riktlinjer finns det ytterligare saker som kan göras för att förbättra underhållet. Om du antar att du följer Codex-riktlinjerna för att bygga teman, överväga följande när det gäller några av dina tillgångar och beroenden.

Tillgångar

En av de saker jag gör för var och en av mina projekt är att se till att jag har specifika kataloger för tillgångar som ligger utanför de normala filerna som krävs för temat utveckling. Med detta menar jag att jag har specifika kataloger för:

  • Bilder
  • mallar~~POS=HEADCOMP
  • JavaScript
  • Språkfiler
  • Bibliotek, till exempel mer modulär kod som plugins eller PHP-klasser
  • … och så vidare

Beviljas, varje tema kräver åtminstone ett enda stilark, men låt oss säga att du ska ge stilark specifikt för administrativ instrumentpanel. För underhåll är det bättre att hålla dem separata än i ett enda stilark och sedan låta ett verktyg kombinera dem innan de släpps.

Vi kommer att titta på verktyg för exakt detta i den slutliga artikeln i serien.

Oavsett var du landar på detta, kan det vara långt ifrån att ha en välorganiserad uppsättning medel.

Namnkonventioner

När vi överväger hur vi bäst organiserar våra olika tillgångar kan namngivningskonventioner ge en tydlig klarhet och tillhandahålla en standard som alla relaterade filer ska följa. I varje av mina projekt gör jag vanligtvis följande:

  • Bilder relaterade till en viss mall är prefixad med namnet på mallen, till exempel: full width.background.png
  • JavaScript
    • För administratörens instrumentpanel kommer prefix med administration och kommer att namngivna beroende på vilken sida de laddas för: admin.edit-post.js, admin.users.js.
    • För temat eller de offentliga områdena kommer prefix med tema och namngavs för mallen som de laddas på: theme.about.js.
  • mallar~~POS=HEADCOMP heter som JavaScript
    • Administrativa specifika formatmallar är prefixade med administration och namngivna beroende på vilken sida de laddas på: admin.widgets.css
    • Temaspecifika formatark heter på samma sätt som de heter utifrån mallen som de laddas på: theme.about.css.

Självklart finns det några universella JavaScript och stilark som tillämpas i hela temat. I det här fallet behåller jag helt enkelt en uppsättning admin.css och style.css filer.

För plugins

De flesta WordPress-utvecklare vet att plugins ska vara temagnostisk. Det vill säga de borde inte vara beroende av en funktion i ett visst tema eller borde de införa någon av deras stylesheets eller JavaScripts på det befintliga temat förutom deras egna specifika egenskaper.

Dessutom finns det två sätt att utveckla plugins:

  • Plugin API
  • Widget API

För det ändamålet finns det några strategier som kan användas när du skriver dina plugin för att se till att stylesheets, JavaScript, bilder och andra tillgångar inte stämmer överens med det befintliga temat.

Blanda inte och matcha inte

När det gäller skrivpluggar gör de olika API-erna det lätt att mixa och matcha de språk du använder för att bygga ditt plugin. Därmed menar jag att det är helt möjligt att inkludera alla stilar, JavaScripts, HTML och PHP i en enda fil och skicka den sedan.

Men jag är inte en fan av detta.

Vanligtvis tjänar varje språk ett specifikt syfte, och därför försöker jag att hålla varje språk i sin egen fil så mycket som möjligt. Tänk på följande:

  • HTML används för att beskriva data som görs i webbläsaren
  • CSS används för att ställa in eller presentera data som görs i webbläsaren
  • JavaScript används för att hantera händelser och reläinformation till och från webbläsaren och servern
  • PHP är tänkt att köras på servern

Som sådan tror jag att det är mer meningsfullt att hålla filerna separerade så att du vet var du ska fokusera när ett problem uppstår eller det är dags att införa en ny funktion.

Detta betyder inte att du inte ibland kommer att ha PHP skrivet i din markering eller att du inte dynamiskt skapar HTML-element på serverns sida, men det är meningen att du ska skapa en grund där du organiserar ditt arbete.

Dela upp problemen

Förutom att du ser till att varje uppsättning stilark och JavaScript-filer är tydligt namngivna, tenderar jag att följa samma struktur som jag gör för teman och det vill säga namnet på den administrativa specifika koden prefixad med administration och tema eller offentligt specificerad kod med visa.

Det är en enkel strategi men det går långt i att optimera var du placerar dina filer och att behålla problem som de presenterar sig när ditt arbete är i det vilda.

Ett slutord på strategi

Den punkt som täcker detta är inte att införa min sätt att organisera filer i ditt system eller ens säga att detta är ett vanligt sätt att göra det. Det är tänkt att ge en utgångspunkt för vilken du kan behålla dina projekt.

Slutligen är poängen att minimera underhållet så mycket som möjligt. Med tydligt definierade namnkonventioner och en organisationsstandard kan du exakt veta hur och var du ska placera dina filer utan att göra några gissningar och det gör att dina medarbetare och / eller lagmedlemmar kan veta var de ska fokusera för att spåra problem när de anländer.


Referensdokument

En av de utmaningar som utvecklarna står inför är att se till att de är bekanta med rätt sätt att utnyttja plattformen som de arbetar på.

För det mesta innehåller varje språk, ram och bibliotek någon form av dokumentation och WordPress är inte annorlunda. Saken är, WordPress består av flera olika bitar - inte bara är programmet byggt med PHP, men det finns applikationsspecifika API-er, liksom bibliotek som jQuery som är nödvändiga för att ha som referenser.

Eftersom det tar mycket lång tid att bli väl bekant med insatserna i varje språk, applikation och bibliotek, har professionella WordPress-utvecklare vanligtvis referenser som är tillgängliga. För WordPress-utvecklare är följande referenser extremt värdefulla.

  • PHP. Självklart är det språk som WordPress är skrivet värdefullt. Att ha manualen lätt tillgänglig för att granska funktioner och klasser är viktig, särskilt om du arbetar utanför det vanliga WordPress API.
  • Kodningsstandarder. Ett av de största problemen i WordPress-utveckling är att utvecklare ofta inte tillämpar kodningsstandarder för deras arbete (jag brukade också vara skyldig i detta!). Genom att följa en standard säkerställer vi att hela vår kod kommer att se ut på samma sätt och därigenom göra det lättare att bidra till samhället om vi så önskar. Om inget annat gör det för ren kod.
  • WordPress API. Detta borde vara en no-brainer, men det är nödvändigt att du arbetar korrekt med de olika WordPress-objekten för professionell utveckling. Bara för att du kan kringgå det betyder inte att du borde. Odds är, om det finns en metod du behöver, är den redan tillgänglig som en del av core API.
  • jQuery API. jQuery är JavaScript-biblioteket som skickas med WordPress och som används för kärnfunktionalitet både i instrumentpanelen och inuti många teman och plugins. Det är bäst att inte försöka ta med din egen variant av JavaScript till mixen, men att hålla fast vid vad som tillhandahålls.

För det mesta, det är det - bokmärke dem eller få dem lätt tillgängliga i din IDE (om det stöder det), spendera tid i vart och ett av dem och du kommer att gå bra på väg till mer professionella utvecklingsmetoder.

Så långt som strategier går täcker detta det. Enkelt uttryckt, ha ett definierat sätt att organisera och namnge dina filer, se till att du följer de bästa metoderna i det centrala WordPress API och var noga med att hänvisa till de olika språk API-dokumenten när du bygger ditt arbete, och du kommer att vara i en mycket bättre position än att bara bygga ditt arbete ur manschetten.

.