WordPress kommer att på vissa delar hänvisas till som WP.
Hela artikeln finns här som PDF – WordPress Plugins

Att använda sig av tillägg är ett sätt att utöka och lägga till funktionalitet som redan finns i WordPress. I början av WordPress historia så var man tvungen att modifiera filerna direkt, men kärnan i WordPress är nu utformad för att vara liten och lätt och består av 3 huvudmappar som heter wp-content, wp-admin och wp-includes. Man ska inte modifiera WordPress kärnan av två viktiga anledningar; dels så skrivs allt över när du uppdaterar WordPress och dels för att det blir rörigt och svårt att hitta och fixa buggar. Tillägg erbjuder ett sätt att lägga till anpassade funktioner och egenskaper, så att varje användare kan skräddarsy sin WordPress installation efter deras specifika behov.

icon-plugins-rainbow

Hooks, Actions och Filters

Hooks tillhandahålls av WordPress API så att du ska kunna ‘kroka i” delar av WordPress från ditt tillägg, d.v.s. kalla funktioner från din plugin vid bestämda händelser i WordPress, och då kicka igång din plugin.

Det finns två typer av hooks:

Actions (WordPress Codex – Action Reference)

Filters (WordPress Codex – Filter Reference)

 

Tilläggets Namn

Nu ska vi skapa ett första tillägg och då måste vi tänka ut vad den kommer att göra, och sedan komma på ett unikt namn för den. Jag tänkte att vi till en början kan skapa ett tillägg som som använder ett filter hook, och då får den får heta My_filter. Vi skapar en mapp under sökvägen wp-content/plugins/ i din WP installation med det namnet (man kan även bara skapa en PHP fil med ett unikt namn om den inte är så stor men det bästa är att skapa en mapp för tillägget)

Tilläggets filer

Nästa steg är att skapa en PHP-fil som antingen har ett namn med koppling till tilläggets namn eller en index.php som vi ska göra. Tillägg och teman har så kallade File Headers i början av huvudfilen som innehåller meta-information (Namn, Version, Författare, …) så för att WP ska förstå att det är ett tillägg som det handlar om måste filen innehålla en kommentar med följande information:

Så det här ska jag skriva om vår tillägg, du får självklart skriva vad du vill:

Om du zippar mappen och laddar upp den under wp-content/plugins/ nu så ska den finnas tillgänglig:

ScreenShot: My_filter plugin finns nu tillgänglig
Bild: My_filter plugin finns nu tillgänglig

När WP ser kommentaren vet den om att det handlar om ett tillägg och gör den nu automatiskt tillgänglig (eftersom den finns under sökvägen wp-content/plugins/ så är den installerad)

 

Filtrera innehåll med add_filter

Filter hooks används för att modifiera innehållet av inlägg, och vi ska börja med ett enkelt som att modifiera titeln på alla inlägg, d.v.s. den här delen av inlägget:

ScreenShot: Nytt inlägg
Bild: Nytt inlägg

Så vi lägger till en filter med funktionen add_filter efter kommentaren som tar minst två parametrar:

  1. Den första är vad vi filtrerar och vi ska ta the_title som riktar in sig på inläggs-titel
  2. Och den andra är en funktionen som gör jobbet och till det ska vi använda en anonym funktion som tar emot en parameter som är själva titeln:

Du kan redigera index.php filen genom Admin panelen > Tillägg > Redigerare

Funktionen ser precis ut som en JavaScript funktion, läs mer om add_filter

OBS! En anonym function fungerar bara med PHP version 5.3 och uppåt.

Så vad ska vi göra, jo vi ska börja med att skapa ett tillägg som gör så att varje ord i en inläggs-titeln börjar med en stor bokstav och då finns det olika sätt att göra det på som t.ex. regular expression men vi ska använda en PHP funktion som heter ucwords:

Men eftersom ucwords är en funktion behöver vi inte använda en anonym funktion utan istället lägga ucwords som den andra parametern till add_filter:

Nu kan vi testa att aktivera vår det nya tillägget och se om den fungerar:

 

ScreenShot: inlägg innan aktivering
Bild: inlägg innan aktivering
ScreenShot: inlägg efter aktivering
Bild: inlägg efter aktivering

 

Vi kan ta en snabb grej till med add_filter där vi lägger till en tidstämpel efter inläggs-innehållet som är the_content:

ScreenShot tidstämpel efter inlägg
Bild: tidstämpel efter inlägg

Så för att sammanfatta: Man använder add_filter och remove_filter för att modifiera innehållet

 

Actions – add_action

Actions används för att kroka i speciella händelser i WordPress, som t.ex. när ett inlägg publiceras, sparas eller kommenteras, när man öppnar admin panelen mm. så actions är helt enkelt triggers som aktiveras av en viss händelse i WordPress livscykel, i stället för att filtrera innehåll som man gör med filters.

 

comment_post

Vi ska göra en liten tillägg som skickar en email när någon kommenterar ett inlägg, och det första vi ska göra är att hämta admin email adress och lägga det i en variabel:

Nu ska vi skicka själva mailet med wp_mail funktionen som tar en del parametrar:

  1. Vem det ska till
  2. Ämne
  3. Innehåll

Om vi gjort allt rätt nu och kommenterar ett inlägg så ska en email dimpa ner i brevlådan:

ScreenShot: email om kommentar
Bild: email om kommentar

 

Projekt – Visa länkar till inlägg i samma kategori

Nu ska vi skapa en tillägg som visar länkar till inläggs-titlar som är i samma kategori som den aktuella inlägget, precis nedanför det. Vi börjar med att filtrera innehållet för vi ska ju ha länkar till dom här inläggen, men vi vill inte visa dessa länkar när man är på en sida med en massa titlar för då skulle det bli rätt rörigt med dessa extra titlar:

Här använder vi is_singular som kontrollerar om det handlar om ett ensamt inlägg och det är fallet om följande returnerar sant:  is_single(), is_page() eller is_attachment(). Om $post_types parameter anges (vilket vi gör), kommer funktionen dessutom kontrollera om det handlar om inläggs-typ som vi frågar efter, så is_singular(‘post’) kommer att returnera sant om det är ett ensamt inlägg.

Okej nu ska vi hämta själva kategori-objektet för inlägget:

ScreenShot: array objekt inlägg
Bild: array objekt inlägg

 

Kollar vi på källkoden för sidan så hittar vi det här, en array objekt:

Som du ser i tjock typsnitt så har vi kategori namn New Category Name och kategori id 3. Vi kan nu med hjälp av informationen vi vet lägga kategorierna i en array eller en string:

Nu kan vi använda WordPress funktionen WP_Query för att loopa igenom och hämta inläggs-kategorier:

 

Nu kan vi använda loopen för att hämta 3 stycken inlägg som har samma kategori ID, om det finns titlar med samma kategori:

Och hela koden kommer här som helhet:

Om du kollar längst ner på sidan ser du att jag använder den här tillägget i min WordPress installation – det står ”Du kanske gillar dom här inläggen också..” och så ett par länkar till artiklar i WordPress kategorin – gå längst ner och titta.

 

 

[shortcode]

Shortcode är ett sätt att infoga någonting i ett inlägg eller widget, för att vi ska kunna använda en shortcode använder vi add_shortcode:

(du kan returnera vilken HTML kod du vill bara kreativiteten sätter gränserna)

Så där nu kan vi testa att skriva in [hello] i ett inlägg och kolla resultat:

ScreenShot: testinlägg hello shortcode
Bild: testinlägg hello shortcode

 

ScreenShot: test-resultat [hello] shortcode inlägg
Bild: test-resultat [hello] shortcode inlägg
Mer shortcode

Man kan göra en shortcode mer flexibel med parametrar och då ger man den anonyma funktionen en array som parameter:

ScreenShot: test [hello] med parameter shortcode
Bild: test [hello] med parameter shortcode
 

ScreeShot: test-resultat [hello] med parameter shortcode
Bild: test-resultat [hello] med parameter shortcode

Twitter shortcode

Nu ska vi lägga till ytterligare en parameter och skapa en användbar plugin som länkar till användarens twitter sida:

Om man nu skriver in:

 

ScreenShot: test-resultat med parameter
Bild: test-resultat med parameter

Och utan att man anger varken username eller innehåll bara [twitter_link] då får man:

test-resultat-utan-parameter-shortcode
Bild: test-resultat utan parameter

 

Tips!

För absolut sökväg ska man alltid använda plugin_dir_path() och plugins_url()i stället för wp-content/plugins/

Säkerhetsvarning: Överväg blockering av direkt tillgång till plugin PHP-filer genom att lägga till följande rad högst upp i var och en av dem.

 

Kommentaren vidare förklarad

Plugin URI – används för att låta användarna vet om detaljerna i tillägget och tillgängliga hämtningsalternativ. Det är inte obligatoriskt och du kan hålla den tom, om du inte har för avsikt att göra tillägget tillgänglig för allmänheten.

Description – används för att ge en översikt över funktionerna i plugin.

Version – används för att definiera den versionen och du kan använda någon numreringsformat som du vill. Insticksprogram behöver uppgraderas med WordPress versionsuppgradering vardera. Därför är det bra att ha korrekt version numrering även om det inte är obligatoriskt.

Author – och författar URI – används för att ge information om utvecklaren av tillägget.

License – används för att fastställa villkoren för att använda tillägget. Du kan inkludera en standardlicens som t.ex. GPL2 eller bara nämna något om det är gratis att använda, om man får modifiera och distribuera fritt.

WordPress plugin / tillägg

Kommentera

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

%d bloggare gillar detta: