TkJ. se – En av Sveriges ledande teknikbloggar!

Gratis nyhetsbrev

Missa inte TkJ.se nyhetsbrev som utkommer en gång i veckan. Prenumerationen är gratis!


Topplista appar

Radannonser

PrivateVPN
REA: Surfa SÄKERT med PrivateVPN!
En av världens STÖRSTA och SNABBASTE VPN-tjänster! Skydda dig mot avlyssning och spårning. Säkra dina lösenord på publika WiFi. NU HÖG TkJ-RABATT!
Testa - pengarna tillbaka om inte nöjd >>

PureVPN Världens snabbaste VPN! Passar för dig som laddar ner mycket. Skydda dig på öppna WiFi, använd BitTorrent anonymt, titta på amerikanska Netflix, kryptera all din trafik och göm ditt IP-nummer! Testa idag - pengarna tillbaka inom 31 dagar!

NordVPN Populär VPN som håller hög hastighet! Superenkel att använda, för både Mac och PC och smartphones.
Börja surfa säkert! >>

CyberGhost VPN Över 3000 servrar världen över, upp till 7 enheter och funkar på alla plattformar! Testa idag!

VILFO - Router med VPN! Med routern Vilfo går all din trafik via VPN - supersmidigt, skydda dig automatiskt på alla datorer, surfplattor och smartphones! Undvik geoblockering på alla enheter - Netflix USA via Google Chromecast!
Läs mer om Vilfo...

KÖP NYA BATTERIER! Alla former av batterier, BILLIGT! Vanliga, till datorer och mobiler, verktyg och andra prylar.

Vill du annonsera här?
Läs mer här!

Annons

Feedburner

TkJ RSS

Programmering

Så gör du ett enkelt plugin för WordPress!

Skribent:
Publicerad: , 11:32
Uppdaterad: 2009-01-06, 02:57
Respons: 14 kommentarer

Jag behövde ett väldigt enkelt plugin för att parsa egna taggar i WordPress – och så här gjorde jag… Det jag ville göra var ett plugin som gjorde det enkelt för mig att lägga in en affiliatekod för affiliateprogrammet Prisjakt (se exempel). Koden, som kommer från Affiliator, gör att det visas en liten ruta som innehåller de tre lägsta priserna på en viss produkt. Det enda som behövde ändras i koden var en liten siffra, som stod för produktnumret hos Prisjakt

<img src="http://imp.affiliator.com/imp.php?a=xxx&b=xxx&w=xxxx&p=xx" width="0" height="0" /><script src="http://extern.prisjakt.nu/produkt_extern.php?p=123456&type=info7&clickTAG=http://click.affiliator.com/click/a/xxxx/b/xxx/w/xxxx/p/xx//direct_link/" type="text/javascript"></script>

Problemet med att klistra in koden manuellt är att WordPress inte alltid är så glad vid att man klistrar in Javascript i ett inlägg. Det kan strula en del. Därför behövde jag ett plugin som lät mig skriva exempelvis [prisjakt]123456[/prisjakt] i ett inlägg, och när inlägget sedan visas så ser pluginet till att ändra taggarna till Javascriptkoden före respektive efter själva produktkoden (se ovan kod).

Taggen [prisjakt] ska således bli all kod fram till 123456 och [/prisjakt] all kod efter. Då blir det rätt i själva bloggen, medan jag slipper Javascriptet när jag redigerar inlägget. Använd Anteckningar eller någon annan textredigerare för att skriva in PHP-koden för ditt alldeles egna WordPress-plugin:

<?php
/*
Plugin Name: Exempel-plugin
Plugin URI: http://www.tkj.se/plugin
Feed URI:
Description: Ett exempel på enkelt plugin till WordPress
Version: 1.0
Author: Tommy k Johansson
Author URI: http://www.tkj.se
*/

function exempel($content){
$text_fore = '<b><i>';
$text_efter = '</b></i>';
$content = str_replace('[prisjakt]', $text_fore, $content);
$content = str_replace('[/prisjakt]', $text_efter, $content);
return $content;
}
add_filter('the_content', 'exempel', 2);
?>

De första raderna är till för att berätta vad det är för plugin. Det är denna text som kommer att visas på din pluginsida i WordPress administrationsgränssnitt. Därefter kommer min funktion som här heter exempel().

$content är en standardvariabel som innehåller själva inlägget. Det funktionen gör är att ersätta taggarna med texten som står i variablarna $text_fore respektive $text_efter. Add_filter() i slutet är en WordPressfunktion som ser till att parsa artikeln genom din funktion när den visas på bloggen.

Spara pluginet som en vanlig textfil med namnet dittpluginnamn.php och ladda sedan upp det till din WordPressmapp och underkatalogen /wp-content/plugins. Därefter är det bara att aktivera det via administrationspanelen och Plugins.

Det här kanske lät som gojja om du aldrig skrivit en rad programkod tidigare, men om du har några grundläggande kunskaper hoppas jag att du kan få nytta av det i din WordPressblogg.

Gillade du artikeln? ⇨ Dela gärna på Facebook & Twitter!

WEBBHOTELL: Sponsrade länkar
Webbhotell Pris/mån Utrymme Trafik Domäner
Loopia REK! 84 kr 75 GB 750 GB Obegränsat
City Network REK! 49 kr 250 GB 5000 GB Obegränsat
One.com 15 kr 15 GB Fri* 1
FSData REK! 149 kr 20 GB 300 GB Obegränsat
Crystone 12:50 kr 250 GB 5000 GB Obegränsat
Surftown 18 kr 10 GB 30 GB 1
Cliche 24 kr 5 GB Fri* 1
Inleed REK! 29 kr 5000 GB 250 GB Obegränsat
Webbdo 9 kr 1,5 GB 40 GB 11
Ev startavgift & domänkostnad tillkommer. Pris uppdaterat 140415.
* Fritt så länge du inte har för mycket
REK = Rekommenderas

Kommentarer

14 kommentarer

  1. Wordpress CMS « staffanjonzon2011-12-05 at 13:28Reply

    […] IT-bloggaren TkJ har skrivit en enkelkom-igång-guide på […]

  2. Smidigt wordpress plugin | Chisp.se2011-06-22 at 13:04Reply

    […] subscribe to the RSS feed for updates on this topic.Powered by WP Greet Box WordPress PluginHar sen TKJ publicerade tipset suttit och tittat på koderna för att förstå det hela. I denna sena timme ramlade 5 öringen […]

  3. Rumor Control » Gör ditt eget WordPress-plugin2010-04-16 at 07:46Reply

    […] IT-bloggaren TkJ har skrivit en enkel kom-igång-guide på […]

  4. Ingo2009-01-11 at 16:18Reply

    Nu blir jag lite förvirrad.
    Är det TKJ´s kodsträng man skall använda sig av eller tipset i kommentaren?

    Hur som helst, skall jag klistra in mitt affil id på något ställe?

    För den tröge, kan du inte förtydliga instruktionerna

  5. Stefan2009-01-09 at 08:49Reply

    Stort tack Tommy. Tanken är att jag själv ska lägga in affiliatelänkar till Prisjakt på en av mina sidor och då blir det otroligt mycket lättare med denna metoden.

    Grunden borde dessutom gå att använda för att klistra in PHP-funktioner utan att behöva lämna WYSIWYG-läget.

  6. Danielloo2009-01-08 at 11:27Reply

    Vet inte om du testat In The Loop… Fungerar i iaf före och efter post.

    http://xentek.net/code/wordpress/plugins/in-the-loop/

    Men det e ju löst nu ändå =)

  7. Ingo2009-01-07 at 17:41Reply

    Klockrent.
    Detta skall jag genast använda mig av.

    Behöver man vara affil för prisjakt för att använda hänvisningarna till att börja med?

  8. TkJ2009-01-07 at 15:32Reply

    Eric: Tack! Din kod var mycket bättre. Jag har sagt att jag ska lära mig regex i ungefär 15 år nu… ;)

  9. TkJ2009-01-07 at 15:32Reply

    Emma: Nej, du behöver inga program för att blogga med WordPress. Räcker med en webbläsare.

  10. Emma2009-01-07 at 14:35Reply

    Hej!(hittade inte din nybörjar guide för wordpress, länkat till den på en annan data, så jag la det här)
    Jag har funderat på att starta en blogg och tycker då att wordpress verkar vara ett bra program att utgå från, men min fråga är om man kan blogga från olika datorer med wordpress då man behöver ladda ner olika program för att kunna få ihop det, för det är ju inte alltid säkert att den datan man oftast har är tillgänglig(eller fungerar vilket e mitt problem)
    så, kan man det?

  11. Dgtlx.com2009-01-07 at 13:00Reply

    Intressant!

    Nu har jag inte användning för det, men ändå. Alltid kul att känna till hur det går tillväga att skapa liknande plugin i WP.

  12. Eric2009-01-07 at 12:59Reply

    Oj, trodde inte att man kunde använda HTML bland kommentarerna, så att mina exemel blir lite felaktiga. Så här ska det se ut:

    Första $repalce = “$1“; ska det stå (utan mellanrum mellan samt och sedan förstås motsvarande för i-taggen):

    $repalce = “$1“;

    Och den andra koden med $repalce = “$1“; :

    $repalce = “$1“;

  13. Eric2009-01-07 at 12:51Reply

    Fin kod, men jag skulle gjort så här:

    function exempel
    {
    $bbcode = ”/\[prisjakt\](.*?)\[\/prisjakt\]/is”;
    $repalce = ”$1”;

    // Skickar tillbaka resultaet
    return preg_replace($bbcode, $replace, $content);
    }

    En av fördelarna med denna kod är kanske ganska uppenbar, det är mindre kod som är lättare att läsa (tycker jag i alla fall). Dessutom blir den snabbare även om det i detta fall handlar om millisekunder. Men något som jag gillar främst med denna lösning är att den är flexibel på så sätt att du kan lägga $1 på flera ställen. Exempel på vad jag menar:

    function exempel
    {
    $bbcode = ”/\[prisjakt\](.*?)\[\/prisjakt\]/is”;
    $repalce = ’’.$1.’’;

    // Skickar tillbaka resultaet
    return preg_replace($bbcode, $replace, $content);
    }

    Sedan kan man göra lite mer avancerade grejor så som att om man skriver [prisjakt=???]1234[/prisjakt] så kan man kan hämta både ??? och 1234. Men jag tror nog att mitt inlägg är redan långt som det är. ;) Annars så behöver inte koden ändras så mycket för detta ska fungera också.

  14. Calle2009-01-07 at 12:04Reply

    Ett annat sätt – kanske inte i just detta sammanhang, men för att hantera html-kod – är att använda Adsense Manager plugin http://wordpress.org/extend/plugins/adsense-manager/ vilket gör att din kod blir en widget.

    Den är till för att hantera annonser, men kan även hantera egen kod. Själv använde jag den för min Googlesearch-funktion.

Skriv gärna en kommentar!

E-postadressen publiceras inte. Obligatoriska fält är märkta *

*

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.

Om TkJ.se

TkJ.se är en av Sveriges ledande teknikbloggar. Den startades 2007 av mig, Tommy k Johansson, som arbetat som IT-skribent sedan 1996. Från och med 2010 är TkJ.se mitt heltidsjobb, finansierat av annonser på sajten.
Utgivare: TkJ Media AB, Smålands skogar.
TkJ på TumblrTkJ på InstagramTkJ på TwitterTkJ på Facebook

Sponsorer

City Cloud - Cloud Computing
”Advanced

Arkivet

Ad: Bra webbhotell

City Network 1000 GB trafik! Förberett för WordPress, lätt att komma igång med egen domän, rekommenderas!

Inleed från 19 kr/mån! Webbhotell med bl a 2 GB lagring, 50 GB trafik, obegränsat antal domäner - samt ordentligt backup-system!

Surftown Storfavorit bland billiga webbhotell

Loopia Stort webbhotell, fritt antal domäner, installera WordPress med ett klick

Ad: Antivirus

Priserna varierar beroende på hur många enheter du vill köra säkerhetspaketen på. För kompletta prisuppgifter och information, läs mer om antivirusprogrammen.

Norton Det mest populära säkerhetspaketet. Komplett, enkelt att använda, resurssnålt - rekommenderas!
Pris: 599 kr.

F-Secure Stabilt och tystlåtet skydd mot allt, håller sig bakgrunden, rekommenderas! Prova gratis 30 dagar!
Pris: 490 kr.

Panda Kraftfullt säkerhetspaket, tar väldigt lite minne i datorn.
Pris: 425 kr.

ESET Smart Security Väldigt resurssnålt och mycket omtyckt säkerhetspaket, också känt som NOD32.
Pris: 742 kr.

Kaspersky Bra val för alla användare, massor av inställningar och utmärkt skydd.
Pris: 669 kr.

McAfee Lättskött och snabba uppdateringar för effektivt skydd.
Pris: 445 kr.

Bullguard Väldigt snabbt och resurssnålt, lätt att använda. Testa gratis 60 dagar!
Pris: 300 kr.