Tänk dig att någon startar en butik med ett snyggt WordPress-tema, går i månader med det temat och vill sedan ändra det. Nu kan du föreställa dig att alla hennes reglage, widgets och jämnprodukter försvinner från webbplatsen. Föreställ dig hennes frustration. Skulle du vilja orsaka den typen av besvikelse?
Det finns ett koncept som heter "plugin territory" som anger vilka saker utvecklare ska lämna ut från sina teman. I denna artikel kommer jag att gå över grunderna för detta koncept.
Låt oss börja lätt: Den grundläggande tankegången bakom begreppet "plugin territory" är att lämna ut saker som hindrar användarna från att byta teman. Det innebär att du ska skapa teman som är omkopplingsbar när du slutar utveckla temat eller användarens behov (eller vill) för att ändra ditt tema. Och du måste komma ihåg att ett WordPress-tema bör handla om att ändra utseende av WordPress, istället för hur det Arbetar.
Om du har skummat genom rubrikerna i resten av den här artikeln har du förmodligen en tydligare uppfattning om vad "plugin territory" är: Du kan inte ändra WordPress-kärnan, använda kortkoder eller reglage, skapa egna posttyper, taxonomier eller meta boxar, ge funktionalitet som gynnar webbplatsen SEO och saker som så.
Varför? Eftersom användarna av ditt tema inte kommer att kunna byta teman utan att förlora sina egna inläggstyper, slider, kortkoder, SEO-inställningar och liknande, vilket kommer att orsaka frustration och användarna kommer att stå inför två alternativ: Doppa ditt tema och starta hela hemsidan från början, eller ge in och fortsätt använda temat med tvång.
Bloggen Make WordPress har en sida för "plugin territory" som täcker alla grunderna med några få ord, men jag tror att vi kan utveckla ämnet med det vi ser i WordPress-communityen och etikett att skapa teman.
Nu när vi har fastställt vad "plugin territory" betyder kan vi börja tillämpa konceptet med några exempel. Vissa uttryck kan verka ofullständiga, kontroversiella eller till och med fel till er, så gärna bidra till detta avsnitt med dina kommentarer om att använda begreppet "plugin territory".
Låt oss börja!
Den här är en ingen brainer: Ditt tema bör inte ändra eller replikera kärnfunktionalitet. Det betyder att du inte bör missbruka kraven på förlängbarheten av WordPress genom att begränsa funktionaliteten i WordPress och avstå från att skapa nya funktioner när kärnfunktioner kan göra samma arbete.
Ta matar, till exempel: Du vill göra ett magasin tema för utgivare som kommer att begära pengar från sina läsare för innehållet. WordPress har funktionen "RSS-flöde", så det kan tyckas som en bra idé att göra ditt tema inaktiverat "feed" -funktionen helt och hållet ... förutom att det är en mycket dålig idé.
Först och främst, varför antar du att användarna av ditt tema skulle vilja inaktivera RSS-flöden ändå? För det andra finns det många plugins som kan göra gärningen, vilket innebär att du kan rekommendera sådana plugins och lämna beslutet till användarna. (Här är en handledning om hur jag rekommenderar eller till och med kräver plugins: "Använda TGM Plugin Activation Library i dina teman".)
Ett annat bra exempel på denna fråga skulle vara att dela upp delarna före och efter märka. Du behöver inte använda
explodera()
funktionen att dela upp de två delarna, eftersom det finns en funktion för akten i kärnan: The get_extended ()
funktion gör jobbet ganska bra. (Jag har sju mer pärlor för dig i denna handledning, om du är intresserad.) Kontrollera kärnfunktionerna innan du skriver din egen är en tidsbesparande, smart sak att göra.
Tema-utvecklare brukar bli förvirrade om plugin-territoriet när du säger att vissa designelement faller också in i territoriet. Och de har rätt att bli förvirrad: Hur kan en skjutreglage vara i plugin-territoriet, när skjutreglage är en av de viktigaste delarna av dagens kaktsnittsföretagens webbplatser?
Så här: Om en användare ger upp ditt tema måste de också ge upp skjutreglaget. Som i det exempel som jag nämnde i början av denna artikel kommer det att skapa frustration. Och detsamma gäller kortnummer och widgets: Ingen borde behöva ge upp dropplock, sociala medier delar widgets eller Twitter-flöden när de slutar använda ditt tema. De måste alla serveras i form av plugin så att dina användare inte behöver skapa nya bilder från början eller rena gamla, icke-funktionella kortnummerbitar från deras innehåll.
När det gäller skjutreglage kommer anpassade posttyper också att spelas in: I de flesta teman är diabilder en anpassad posttyp, och om den anpassade posttypen förloras när användaren aktiverar ett annat tema förloras data. Naturligtvis är fallet med reglage ett annat exempel, men det är ett mycket bra exempel på anpassade posttyper som finns i plugin-territoriet.
Detsamma gäller anpassade taxonomier och anpassade metakasser. Du kan inte bryta användarnas innehåll om de väljer att ge upp ditt tema, så anpassade taxonomier ska också fungera som plugins. Anpassade metakassor är lite annorlunda: Om innehållet i metaboxen ändrar utseendet (som radioboxar för att ändra efter styling) är det tematets egen funktionalitet; men om innehållsinnehåll ändras efter innehåll (som ett filmgranskningstabell), ska det fungera som ett plugin.
Jag vill inte slösa bort din tid med att upprepa samma ord: Du kan inte släppa dina användares SEO-betyg när de byter teman! Men igen, ingen kommer att stoppa dig om du tjänar det som ett plugin och rekommenderar det med TGM Plugin Activation Library.
För ungefär ett år sedan skrev jag en artikel med titeln "The Curious Case of Specialty Themes". Låt mig citera mig själv:
Ett WordPress-tema måste utvecklas för att ändra utseendet på en webbplats och undvika att erbjuda funktionalitet inbäddad i sin kärna. (...) Men ibland kräver ett projekt att design och funktionalitet fungerar tillsammans. I det här fallet har vi ett undantag, och undantagsnamnet, som används på WordPress-marknaden, är "specialteman".
Ett "specialtema" är ett slags WordPress-tema som har en mycket speciell avsikt som en crowdfunding-webbplats eller ett lärandehanteringssystem (LMS). Medan det kan förlängas med WordPress-krokar (handlingar och filter) eller redesignas med barnteman, skulle webbplatser som byggdes med dessa teman behöva arbeta med samma tema under hela sin livstid. Det är därför det inte anses vara en "dålig övning" för dessa teman att invadera plugin-området.
Det är verkligen ett grått område: ThemeForest tillåter till exempel inte att invadera plugin-området även för specialteman. Jag skulle vilja höra om vad du tycker också, så låt oss chatta i kommentarerna!
Som människor som tjänar pengar att utveckla med WordPress, vi naturligtvis vill att WordPress växer hela tiden. Än, vi är orsaken till tillväxten, så vi är ansvariga för att bidra till fortsatt tillväxt. Och du kan inte se tillväxt i inkonsekventa miljöer, så vi måste vara noga med att hantera dess konsekvens. Därför måste vi ta hand om "plugin territory" och låta plugins hantera funktionalitet, medan teman hanterar visualitet.
För de som är intresserade har vi massor av WordPress-plugins tillgängliga för både köp, användning och studier på marknaden.
Jag är ganska säker på att du har något att säga om detta ämne, så var god att dela med dig av dina tankar i avsnittet Kommentarer nedan. Och om du gillade artikeln, glöm inte att dela den med dina vänner!