Stel je voor dat iemand een winkel start met een handig WordPress-thema, maandenlang met dat thema, en het dan wil veranderen. Stel je nu voor dat al haar sliders, widgets en zelfs producten verdwijnen van de website. Stel je haar frustratie voor. Zou je dat soort teleurstelling willen veroorzaken??
Er is een concept met de naam "plugin-territorium" dat aangeeft welke thema-ontwikkelaars hun thema's moeten weglaten. In dit artikel ga ik de basis van dit concept bespreken.
Laten we beginnen met easy: de basisgedachte achter het concept van "plugin-territorium" is dingen weglaten die voorkomen dat gebruikers van thema wisselen. Dit betekent dat je thema's moet maken die dat wel zijn schakelbare wanneer je stopt met het ontwikkelen van het thema of de gebruiker (of wil) wil je thema veranderen. En je moet in gedachten houden dat een WordPress-thema zou moeten gaan over het veranderen van de looks van WordPress, in plaats van hoe het werkt werken.
Als je de subkoppen van de rest van dit artikel hebt doorgenomen, heb je waarschijnlijk een duidelijker idee van wat "plugin-territorium" is: je kunt de WordPress-kern niet wijzigen, geen shortcodes of schuifregelaars gebruiken, aangepaste postsoorten, taxonomieën of metaboxen, bieden functionaliteit die de SEO van de website ten goede komt en dat soort dingen.
Waarom? Omdat de gebruikers van uw thema niet van thema kunnen veranderen zonder hun aangepaste berichttypen, schuiven, shortcodes, SEO-instellingen en dergelijke te verliezen, wat frustratie zal veroorzaken en de gebruikers zullen worden geconfronteerd met twee opties: sloot uw thema en start de hele website helemaal opnieuw, of geef toe en blijf het thema gebruiken met dwang.
Het Make WordPress blog heeft een pagina gewijd aan "plugin-territorium", die alle basisprincipes bestrijkt met slechts een paar woorden, maar ik geloof dat we het onderwerp kunnen uitwerken met wat we zien in de WordPress-community en de etiquette van het maken van thema's.
Nu we hebben vastgesteld wat "plugin-territorium" betekent, kunnen we het concept toepassen met enkele voorbeelden. Sommige uitdrukkingen kunnen incompleet, controversieel of zelfs lijken fout aan u, dus voel u vrij om aan dit gedeelte bij te dragen met uw opmerkingen over het gebruik van het concept "plugin-gebied".
Laten we beginnen!
Dit is een goed idee: je thema mag de kernfunctionaliteit niet veranderen of repliceren. Dat wil zeggen, je moet de mogelijkheden van de uitbreidbaarheid van WordPress niet misbruiken door de functionaliteit van WordPress te beperken en geen nieuwe functies te creëren wanneer kernfuncties hetzelfde werk kunnen doen.
Neem feeds, bijvoorbeeld: u wilt een tijdschriftthema maken voor uitgevers die geld van hun lezers vragen voor de inhoud. WordPress heeft de "RSS feed" -functionaliteit, dus het lijkt misschien een goed idee om uw thema de "feed" -functie helemaal uit te schakelen ... behalve dat het een heel slecht idee.
Ten eerste, waarom gaat u er vanuit dat de gebruikers van uw thema sowieso RSS-feeds willen uitschakelen? Ten tweede zijn er tal van plug-ins die de daad kunnen doen, wat betekent dat u dergelijke plug-ins kunt aanbevelen en de beslissing aan de gebruikers kunt overlaten. (Hier is een tutorial van mij over het aanbevelen of zelfs nodig hebben van plug-ins: "Gebruik van de activeringsbibliotheek van de plug-in voor TGM in uw thema's".)
Een ander goed voorbeeld van dit probleem is het splitsen van de delen voor en na de label. U hoeft de. Niet te gebruiken
ontploffen()
functie om de twee delen te splitsen, want er is een functie voor de daad in de kern: De get_extended ()
functie doet het werk redelijk goed. (Ik heb er nog zeven edelstenen voor jou in deze tutorial, als je geïnteresseerd bent.) De kernfuncties controleren voordat je ze zelf schrijft, is tijdbesparend en slim om te doen.
Themaontwikkelaars raken meestal in de war over plug-ins als je dat zegt ontwerp elementen val ook op het grondgebied. En ze hebben gelijk als ze in de war raken: hoe kan een schuifregelaar zich in het plugin-gebied bevinden, wanneer schuifregelaars een van de belangrijkste onderdelen zijn van de hedendaagse websites voor cookie-snijders?
Dit is hoe: als een gebruiker jouw thema opgeeft, moeten ze ook de schuifregelaar (s) opgeven. Zoals in het voorbeeld dat ik helemaal aan het begin van dit artikel noemde, zal het frustratie veroorzaken. En hetzelfde geldt voor shortcodes en widgets: niemand zou drop-caps, social media share widgets of Twitter-feeds moeten opgeven als ze stoppen met het gebruiken van uw thema. Ze moeten allemaal in de vorm van plug-ins worden weergegeven, zodat uw gebruikers geen nieuwe dia's hoeven te maken of oude, niet-functionele shortcode-bits uit hun inhoud hoeven te verwijderen.
In het geval van schuifregelaars komen ook aangepaste berichttypen in aanmerking: in de meeste thema's zijn dia's een aangepast berichttype en als dat aangepaste berichttype verloren gaat wanneer de gebruiker een ander thema activeert, gaan de gegevens verloren. Natuurlijk is het geval van schuifregelaars nog een ander voorbeeld, maar het is een heel goed voorbeeld van aangepaste berichttypen die zich in het plugin-gebied bevinden.
Hetzelfde geldt voor aangepaste taxonomieën en aangepaste metaboxen. U kunt de inhoud van de gebruikers niet verbreken als ze ervoor kiezen uw thema op te geven, dus aangepaste taxonomieën moeten ook als plug-ins worden weergegeven. Aangepaste metaboxen zijn een beetje anders: als de inhoud van de metabox de look verandert (zoals radioboxen om de stijl van een bericht te wijzigen), is dit de eigen functionaliteit van het thema; maar als inhoud van de metabox de inhoud van het bericht wijzigt (zoals een filmoverzichtstabel), moet deze als een plug-in worden weergegeven.
Ik wil uw tijd niet verspillen met het herhalen van dezelfde woorden: u kunt de SEO-beoordelingen van uw gebruikers niet laten vallen wanneer zij van thema veranderen! Maar nogmaals, niemand zal je stoppen als je het als een plug-in gebruikt en het aanraadt met de TGM Plugin Activation-bibliotheek.
Ongeveer een jaar geleden schreef ik een artikel met de titel "The Curious Case of Specialty Themes". Sta mij toe om mezelf te citeren:
Er moet een WordPress-thema worden ontwikkeld om het uiterlijk van een website te veranderen en te voorkomen dat functionaliteit wordt geboden die in de kern is ingebed. (...) Maar soms vereist een project dat ontwerp en functionaliteit samenwerken. In dit geval hebben we een uitzondering en de naam van de uitzondering, die wordt gebruikt in de hele WordPress-markt, is "speciale thema's".
Een "specialiteitsthema" is een soort WordPress-thema met een zeer specifiek doel, zoals een crowdfunding-website of een Learning Management System (LMS). Hoewel het kan worden uitgebreid met WordPress-hooks (acties en filters) of opnieuw worden ontworpen met onderliggende thema's, zouden websites die met deze thema's zijn gebouwd, gedurende de hele levensduur met hetzelfde thema moeten werken. Daarom wordt het niet als een "slechte praktijk" beschouwd voor deze thema's om het gebied van de plug-in binnen te vallen.
Het is zeker een grijs gebied: met ThemeForest kan bijvoorbeeld het gebied van de plug-in niet worden binnengedrongen, zelfs niet voor speciale thema's. Ik zou graag willen horen wat jij denkt, dus laten we in de reacties chatten!
Als mensen die geld verdienen met de ontwikkeling met WordPress, wij van nature wil dat WordPress de hele tijd groeit. Nog, wij zijn de reden voor de groei, dus we zijn verantwoordelijk voor het bijdragen aan de verdere groei. En je ziet geen groei in inconsistente omgevingen, dus we moeten voorzichtig zijn met het beheren van de consistentie. Daarom moeten we zorgen voor "plugin territory" en kunnen plug-ins de functionaliteit, terwijl thema's omgaan met de visualiteit.
Voor degenen die geïnteresseerd zijn, hebben we overvloed van WordPress-plug-ins beschikbaar voor zowel aankoop, gebruik als om te studeren op de markt.
Ik ben er vrij zeker van dat je iets over dit onderwerp te zeggen hebt, dus voel je vrij om je gedachten te delen in het gedeelte Opmerkingen hieronder. En als je het artikel leuk vond, vergeet dan niet om het met je vrienden te delen!