Konceptet Plugin Territory i WordPress

Tenk deg at noen starter en butikk med et greit WordPress-tema, går for måneder med det temaet, og vil deretter endre det. Nå, tenk at alle hennes skyveknapper, widgets og like produkter forsvinner fra nettsiden. Tenk deg hennes frustrasjon. Vil du forårsake den slags skuffelse?

Det er et konsept kalt "plugin territorium" som spesifiserer de tingene som utviklere skal legge ut av deres temaer. I denne artikkelen skal jeg gå over det grunnleggende i dette konseptet.

En introduksjon til Plugin Territory

La oss begynne lett: Den grunnleggende tankegangen bak begrepet "plugin territory" er å legge ut ting som hindrer brukerne i å bytte temaer. Dette betyr at du bør lage temaer som er valgbar når du slutter å utvikle temaet eller brukerens behov (eller ønsker) for å endre temaet ditt. Og du må huske på at et WordPress-tema bør handle om å endre utseende av WordPress, i stedet for hvordan det virker.

Hvis du har skummet gjennom underrubrikkene i resten av denne artikkelen, har du sannsynligvis en klarere forståelse av hva "plugin territory" er: Du kan ikke endre WordPress-kjerne, bruke kortkoder eller skyveknapper, lage egendefinerte innleggstyper, taksonomier eller meta bokser, gi funksjonalitet som fordeler nettstedet SEO og ting som det. 

Hvorfor? Fordi brukerne av temaet ditt ikke kan bytte temaer uten å miste deres egendefinerte innleggstyper, skyveknapper, snarveier, SEO-innstillinger og slikt, som vil forårsake frustrasjon og brukerne vil bli møtt med to alternativer: skjær ditt tema og start hele nettstedet fra bunnen av, eller gi inn og fortsett å bruke temaet med tvang.

Make WordPress-bloggen har en side dedikert til "plugin territory" som dekker alle grunnleggende med bare noen få ord, men jeg tror vi kan utdype emnet med det vi ser i WordPress-fellesskapet og etikette å lage temaer.

Ting å forlate seg fra temaer

Nå som vi har etablert hva "plugin territory" betyr, kan vi begynne å bruke konseptet med noen eksempler. Noen uttrykk kan virke ufullstendige, kontroversielle eller til og med feil til deg, så vær så snill å bidra til denne delen med dine kommentarer om bruk av begrepet "plugin territory".

La oss begynne!

Kjerne Modifikasjoner og Replikasjoner

Denne er en no-brainer: Ditt tema bør ikke endre eller gjengi kjernefunksjonalitet. Det vil si at du ikke bør misbruke kreftene til utvidelsen av WordPress ved å begrense funksjonaliteten til WordPress, og avstå fra å skape nye funksjoner når kjernefunksjoner kan gjøre det samme arbeidet.

Ta feeds, for eksempel: Du vil lage et magasin tema for utgivere som vil be om penger fra sine lesere for innholdet. WordPress har funksjonen "RSS feed", så det kan virke som en god ide å gjøre temaet ditt deaktivert "feed" -funksjonen helt ... bortsett fra at det er en veldig dårlig ide. 

Først av, hvorfor antar du at brukerne av temaet ditt vil deaktivere RSS-feeder uansett? For det andre er det mange plugins som kan gjøre gjerningen, noe som betyr at du kan anbefale slike plugins og la beslutningen til brukerne. (Her er en veiledning av meg om hvordan du anbefaler eller til og med krever plugins: "Bruke TGM Plugin Activation Library i dine temaer".)

Et annet godt eksempel på dette spørsmålet ville være å dele delene før og etter stikkord. Du trenger ikke å bruke eksplodere() funksjon å splitte de to delene, fordi det er en funksjon for gjerningen i kjernen: Den get_extended () funksjon gjør jobben ganske bra. (Jeg har syv flere edelstener for deg i denne opplæringen, hvis du er interessert.) Å sjekke kjernefunksjonene før du skriver din egen er en tidsbesparende, smart sak å gjøre.

Kortkoder, Slider og Widgets

Temautviklere blir vanligvis forvirret om plugin-territoriet når du sier at noen designelementer faller inn i territoriet også. Og de har rett til å bli forvirret: Hvordan kan en skyveknapp være i plugin-territoriet, når skyveknappene er en av de viktigste delene av dagens kakeklippers bedriftsnettsteder?

Slik gjør du: Hvis en bruker oppgir temaet ditt, må de også gi opp glideren (e). Som i eksemplet jeg nevnte helt i begynnelsen av denne artikkelen, vil det skape frustrasjon. Og det samme gjelder for kortkoder og widgets: Ingen skal gi opp dråpekapsler, sosiale medier deler widgets eller Twitter-feeder når de slutter å bruke temaet ditt. De må alle serveres i form av plugins, slik at brukerne ikke trenger å lage nye lysbilder fra grunnen eller rense gamle, ikke-funksjonelle shortcode-biter fra innholdet.

Egendefinerte innleggstyper, taksonomier og metakasser

Når det gjelder glidebrytere, kommer også egendefinerte innleggstyper til spill: I de fleste temaer er lysbilder en egendefinert innleggstype, og hvis den egendefinerte innleggstypen går tapt når brukeren aktiverer et annet tema, vil dataene gå tapt. Selvfølgelig er tilfellet med skyveknapper enda et eksempel, men det er et veldig godt eksempel på at egendefinerte innleggstyper er i plugin-territorium.

Det samme gjelder for egendefinerte taksonomier og tilpassede metakasser. Du kan ikke bryte brukerens innhold hvis de velger å gi opp temaet ditt, så egendefinerte taksonomier skal også vises som plugins. Tilpassede metakasser er litt annerledes: Hvis innholdet i meta-boksen endrer utseendet (som radioboxer for å endre innleggsstil), er det temaets egen funksjonalitet; men hvis innholdet i meta-boksen endrer innleggets innhold (som et filmoversiktstabell), skal det vises som et plugin.

SEO Innstillinger og Analytics

Jeg vil ikke kaste bort tiden din og gjenta de samme ordene: Du kan ikke slippe brukerens SEO-rangeringer når de bytter temaer! Men igjen vil ingen stoppe deg hvis du tjener det som et plugin og anbefaler det med TGM Plugin Activation-biblioteket.

Et spesielt sak om spesialtemaer

For omtrent et år siden skrev jeg en artikkel med tittelen "The Curious Case of Specialty Themes". Tillat meg å sitere meg selv:

Et WordPress-tema må utvikles for å endre utseendet på et nettsted og unngå å tilby funksjonalitet som er innebygd i kjernen. (...) Men noen ganger krever et prosjekt at design og funksjonalitet samarbeider. I dette tilfellet har vi et unntak, og unntakets navn, brukt i hele WordPress-markedet, er "spesialitetstemaer".

Et "spesialitetstema" er et slags WordPress-tema som har en veldig spesiell hensikt som et crowdfunding-nettsted eller et læringssystem (LMS). Mens det kan utvides med WordPress-kroker (handlinger og filtre) eller redesignet med barnemner, må nettsteder bygget med disse temaene arbeide med det samme temaet i løpet av sin levetid. Det er derfor det ikke regnes som en "dårlig praksis" for disse temaene å invadere pluginområdet.

Det er sikkert et grått område: For eksempel, ThemeForest tillater ikke å invadere plugin-området selv om spesialtemaer. Jeg vil gjerne høre om hva du synes, så la oss snakke i kommentarene!

Wrapping Up for Today

Som folk som tjener penger med å utvikle seg med WordPress, vi naturlig vil at WordPress skal vokse hele tiden. Ennå, vi er grunnen til veksten, så vi er ansvarlige for å bidra til fortsatt vekst. Og du kan ikke se vekst i inkonsekvente miljøer, så vi må være forsiktig med å styre konsistensen. Derfor må vi ta vare på "plugin territory" og la plugins håndtere funksjonalitet, mens temaer håndterer visualitet.

For de som er interessert, har vi rikelig av WordPress plugins tilgjengelig for både kjøp, bruk og å studere på markedet.

Jeg er ganske sikker på at du har noe å si om dette emnet, så vær så snill å dele dine tanker i kommentarfeltet nedenfor. Og hvis du likte artikkelen, ikke glem å dele den med vennene dine!