Kortkoder ska aldrig inkluderas med teman. Period.

ThemeForest nyligen uppdaterade deras WordPress-teman krav på inlämning för att vara strängare och mer i linje med bästa praxis för WordPress-temautveckling.


Riktlinjerna kräver att flera av WordPresss kärnfunktioner, standardkrokar för tema och tillåter PHP-funktioner (som base64 och fopen) som verkligen borde aldrig ha haft någon plats i ett WordPress-tema till att börja med.

I grund och botten ganska mycket WordPress.org Temagranskningspolicy, ge eller ta några saker.

Sammantaget är det ett steg i rätt riktning och går till marknadsföra bästa praxis på en av de populäraste WordPress-temamarknaderna på nätet. Det finns bara ett problem …

Tillåtna kortkoder

En sak som dock särskilt föll mitt öga var hur vissa “tillåtna” kortkodsfunktioner var tillåtna (dvs. genom att direkt inkludera dem genom tematets features.php-fil). De som anges som “tillåtna” inkluderade följande:

  • knappar
  • prissättningstabeller
  • bildbehållare
  • dropcaps
  • listor

Otillåtna kortkoder inkluderar: kartor, dragspel och växlar, innehåll i rutan, kolumn, kontaktformulär, diagram.

Problemet med kortkoder i teman

Jag kan inte riktigt säga det bättre än Justin Tadlock har redan gjort det. En av de mest märkbara problemen är att när en användare ändrar teman, kortkoder kommer inte längre att analyseras.

Låt oss säga “Super Awesome” -tema hade en kortkodsfunktion som skulle ge ut en stor grön knapp med en länk när du skrev in något som [button url ="http://example.com"] Stor grön knapp [/ knapp].

Stor grön knapp

När du byter till ett annat tema (låt oss inse det, människor blir lätt uttråkade av teman) finns det ingen mer stor grön knapp. Istället, ser du den oparade kortkoden i inlägget som om det var något annat innehåll, så här:

[knapp url = ”http://example.com”] Stor grön knapp [/ knapp]

Det ser fult, förvirrande ut och på plats och det är ett smärta för användaren att gå tillbaka och ta bort / ersätta allihopa.

Det andra problemet med kortkoder i teman

Något som Tadlock gick igenom i sin artikel “Att hantera shortcode madness” är, många kortkoder är så enkla och HTML-liknande, det kan till och med vara bäst att instruera användarna att skriva ut lite (* sladda *) verklig HTML-kod.

Samma [knapp url ="http://example.com"] Knapptext [/ knapp] -kodkod i mitt exempel ovan kan vara lätt skrivas om som något som:

Knapptext här

Även om det inte finns någon CSS-kod som stylar .knappväljaren i ett nytt tema, kommer åtminstone en normal länk att dyka upp. Vilket är en stor förbättring över en okodad [knapp] -kodkod som visas i ett posts innehåll.

Dessutom tror jag varje WordPress-användare borde ha åtminstone viss grundläggande förståelse för HTML-kod. Genom att lära dem, även i små bitar (som hur man bygger en länk), kommer det att hjälpa. Om de kan förstå en kortkod krävs det inte mycket mer för att få dem att förstå grundläggande HTML.

Men användarna bryr sig inte!

Ett vanligt argument som jag ser att försvara alla slags dåliga metoder när det gäller temautveckling är att användarna helt enkelt inte bryr sig. Jag menar, de kanske aldrig vill uppdatera sitt tema, i vilket fall detta kortkodsproblem skulle vara en punkt.

Problemet är, vissa användare kommer oundvikligen att byta teman någon dag. Vissa användare vill installera ett plugin som kan komma i konflikt med någon annan dåligt genomtänkt kod i ett tema.

Då kommer de förmodligen att bry sig, och kommer förmodligen att undra om temat de köpte med 100-tal av inbyggda kortkoder och annat överflödiga funktioner var verkligen värt det.

Rätt sätt att inkludera kortkoder

Sätt den i ett plugin. En riktigt enkel plugin. Det behöver inte en separat alternativpanel. Bara bokstavligen kopiera och klistra in vad du tänkte inkludera via ditt temas funktioner.php-fil och lägg den i ett plugin istället.

Det kan till och med samlas med något liknande TGM-pluginaktivering för att göra det nödvändigt vid temaaktivering. Eller inte. EN temat är fortfarande ett tema utan kortkoder.

På detta sätt, om användaren ändrar teman, kortkoder fungerar fortfarande, eftersom den funktionen hanteras av plugin-programmet som fortfarande är aktivt.

Kanske kan plugin också stilar i enqueue för kortkoderna också. På så sätt kommer de stora gröna knapparna som du inkluderade med [knappen] -koden fortfarande att vara stora gröna knappar, oavsett vilket tema som används.

Varför tillät ThemeForest “tillåtna” kortkoder?

Det är svårt att säga exakt vad resonemanget bakom detta beslut var. Japh Thomson, en WordPress evangelist på Envato (ThemeForests moderbolag) hade detta att säga om det i en kommentar på WPMU.org:

Komplex kortkodsfunktion borde verkligen ligga i ett plugin, inte ett tema. Det är också meningsfullt om du anser att de flesta av våra författare har flera teman.

Självklart får han det. Så det är en mysterium för mig varför det skulle finnas några “tillåtna” kortkoder alls. Och ja, jag inser att han använde ordet “komplexa” i citatet ovan, och de tillåtna kortkoderna tenderar att vara ganska enkla (dropcaps, listor etc.).

Enkelt som en kortkod kan vara, problem som jag beskrev ovan kommer fortfarande att existera. ThemeForest har visat sig vara lyhörd för community feedback, så det är möjligt att denna regel ändras i framtiden.

Slutsats

Jag inser det här inlägget verkar lite nit-picky, och dessa nya riktlinjer är definitivt ett stort steg i rätt riktning. Men det finns verkligen ingen anledning till att någon kortkod ska tillåtas i ett tema, enkelt eller inte.

Kan du tänka på en situation då ett offentligt släppt tema absolut måste inkludera kortkodsfunktioner via sina egna funktioner.php?

– Theme Lab (@themelab) 9 juli 2013

Spoiler varning: Fick inga svar på den tweeten med ett riktigt exempel på en kortkod som absolut måste inkluderas i ett offentligt släppt tema.

Det är för att det är det bara inte användarvänlig för en användare att gå tillbaka och ersätta hundratals knappkoder efter att de bytte till ett tema som inte har exakt samma kortkortsupport.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me