wordpress
Superslimmad WordPress-plugin
När man är ny inom plugin- och temaprogrammering för WordPress kan man tycka att mycket är tillkrånglat. Det vanliga är att man har många filer uppdelade för att hålla olika klasser och funktioner. Det är ett jättebra och rekommenderat sätt att arbeta på. Men ibland vill man kanske bara göra något enkelt, utan att krångla till det. Därför tänkte jag visa den mest slimmade WordPress plugin man kan göra som fortfarande fyller en funktion.
I normala fall när man skapar en plugin för WordPress brukar man skapa en mapp för att hålla alla filer. Den biten skippar vi. Vi kommer göra allt i en fil och på en rad.
Så vad är poängen med det det här? Jo, poängen är att visa vad WordPress egentligen bryr sig om när det kommer till plugins. Självklart kommer du aldrig kunna distribuera en sån här plugin. Den skulle aldrig gå igenom kontrollen för att få lägga upp den på https://wordpress.org/plugins/. Men det är inte målet. Målet är som sagt att visa vad WordPress tittar på för att acceptera att något är en plugin.
Vår plugin
Plugin:en vi kommer göra är såklart väldigt enkel och inte speciellt användarvänlig, men den fungerar. Det den kommer göra är att söka igenom all text som räknas som “content” på en sida eller ett inlägg. Leta efter specifika ord och ersätta dem.
Säg till exempel att du inte gillar att man kallar Läderlappen för Batman. Visst, han heter ju egentligen Batman, Läderlappen är ju bara något som man hittade på här i Sverige för att man trodde att allt behövde översättas. Och att det låter mycket coolare såklart. Lite mer realistiskt är ju kanske att man vill ersätta fula ord med något lite mer rumsrent. Kanske något liknande det som brukar komma ur truten på Kapten Haddock. Typ “#!&%!!!!..!!?@%!”. Eller bara byta ut alla svordomar man kan komma på med ordet “kanalje”, det är också ett kul ord.
Så här gör vi!
Skapa en fil, döp den till vad du vill men se till att inte använda några mellanslag i filnamnet. Jag kommer döpa min till läderlappen.php. När jag har skapat filen kommer jag lägga in följande kodrad.
<?php /* Plugin Name: Läderlappen är bäst */ add_action('the_content', function($content){ return str_replace(['Batman', 'Batsy', 'Batsyboo', 'Batolino'], 'Läderlappen', $content);}); ?>
I koden ovanför berättar jag för WordPress att det är en plugin och att den heter “Läderlappen är bäst”. Det görs i block-kommentaren och är all information WordPress kräver för att godkänna en php-fil som en plugin. Det och att filen ligger i plugin-mappen såklart. Den behöver som jag tidigare nämnde inte ligga i en egen mapp.
All kod är som sagt skriven på en rad. Så slimmad det går. Det vi gör är att lägga till en “action” på “the_content”, eller med andra ord. Vi tar allt content som ska publiceras på en sida eller i ett inlägg, letar efter orden “Batman”, ‘Batsy’, ‘Batsyboo’ och ‘Batolino’. Att Batman någonsin har blivit kallad “Batsyboo” är tveksamt men nu har vi i alla fall säkrat upp den biten. Hur som helst så kommer den leta efter orden och ersätta med hans rätta namn, Läderlappen. Klart!
Slutsats
Batmans rätta namn är Läderlappen, punkt. Man kan ju också konstatera att en plugin för WordPress kan vara väldigt enkel att göra. Om man bortser från tramset med Batman är det tydligt att man kan göra en ganska kraftfull plugin med enbart en rad kod i en fil. En fil som man placerar rätt in i plugins-mappen. WordPress installerar bara plugins som är zippade så om du vill installer på det “normala” sättet zippar du den först.
Så nästa gång du av misstag råkar skriva “Batman är bäst!” Kommer din plugin till undsättning. Nu stämmer allt och den korrekta meningen lyder “Läderlappen är bäst!”.
Mer om programmering på bloggen
Om det är så att den här artikeln får dig att vilja läsa något lite mer seriöst inom programmering hittar du ett par artiklar nedan. Eller gå till bloggen vetja!