Lav dit eget plugin i WordPress – en guide

I denne guide vil jeg gennemgå hvordan du laver dit helt eget plugin i WordPress. Vi vil lave et plugin der viser samme tekst på samtlige sider i bunden.
I gamle dage lavede man altid hjemmesider helt fra bunden. Her lavede man hjemmesiderne i HTML, designede hjemmesiden med CSS og fik mere dynamik i hjemmesiderne med PHP. I dag er godt hver fjerde hjemmeside lavet i det system der hedder WordPress. Det er et såkaldt CMS, hvor du installerer et basalt system (lavet i PHP) og så kan du ændre udseende og funktionalitet med plugins til WordPress.
En del af de plugins kan du downloade helt gratis igennem WordPress, og der er næsten ikke grænser for hvilke plugins du kan finde. Ellers kan du købe et plugin eller betale andre for at lave det. I denne artikel vil jeg vise dig hvordan du laver dem selv.

Sådan kommer du igang

Før du går igang med at lave plugins til WordPress, er det godt at have et basalt kendskab til programmering i HTML, CSS og PHP. Herudover skal du også have WordPress installeret – enten i et webhotel eller lokalt på din computer. Og så er det en god ide at have et basalt kendskab til hvordan WordPress virker. Hvis du allerede kender til disse ting, kan du gå igang med at lave plugins.
Alle dine plugins ligger i den mappe på din WordPress installation der hedder wp-content/plugins/. Her har hvert plugin deres undermappe, hvor alle filerne til pluginet ligger inde i. Så snart der ligger en mappe herinde, har du i princippet installeret et plugin og du kan så aktivere det.

Lav dit første plugin

For at lave dit første plugin, skal du derfor bare oprette en undermappe i mappen wp-content/plugins/. Lad os bare kalde mappen for “testplugin”. Inde i mappen opretter du så en ny PHP-fil der hedder “testplugin.php”.

Så åbner PHP-filen og indsætter følgende tekst:

<?php
/**
* Plugin Name: Testplugin
* Description: Mit første plugin
* Author: Andreas Andersen
* Author URI: https://www.it-blogger.dk
* Plugin URI: https://www.it-blogger.dk
* Version: 1.0
*/
?>

Denne indledning skal hovedfilen til alle plugins indledes med, og det er metadata der fortæller forskellige ting omkring plugin’et. Hvis du nogensinde skal have dit plugin publiceret i WordPress’ officielle plugindatabase, så skal der mere med, men dette er fint for nu.
Under “Plugin Name” skriver du navnet på selve plugin’et og det er også det der bliver vist i pluginlisten i WordPress. Under Description kan du skrive en beskrivelse, og den bliver ligeledes vist. Så har du mulighed for at angive forfatter, et link til forfatters hjemmeside, et link til plugin’ets hjemmeside samt et versionsnummer.
Når du har gemt filen, kan du så opdatere pluginsiden i WordPress, og så kan du se at dit plugin nu er installeret. Du kan allerede nu aktivere det ved at trykke på “Aktiver”.

Tilføj funktionalitet til dit plugin

Selvom du aktiverer dit plugin, har det dog ingen funktionalitet, fordi du har jo bare aktiveret et tomt plugin. Derfor kan du nu tilføje forskellige funktioner efter indledningen i din PHP fil. Hvis du for eksempel i dit plugins mappe har en CSS fil, der skal gælde på alle sider når plugin’et er aktivt, kan du henvise til den. Hvis for eksempel din CSS fil hedder Style.css, skriver du koden:

function testplugin_plugin_css() {
 wp_enqueue_style('Plugin CSS',plugins_url('/testplugin/Style.css'));
}
add_action('wp_enqueue_scripts',"testplugin_plugin_css");

Denne kode indeholder to ting. Først defineres en funktion jeg har valgt at kalde testplugin_plugin_css og så kalder jeg denne funktion med add_action. Navnene på dine funktioner bør du kalde noget der er unikt, fordi hvis der er en funktion med det navn i forvejen får du en fejlmeddelelse. Dette gælder også hvis du installerer et andet plugin, der anvender en funktion med samme navn.
Alle funktioner begynder med koden function og herefter kommer navnet på funktionen efterfulgt af parenteser og selve koden inden for nogle tuborg-klammer. Indenfor parenteserne kan man stille parametre til funktionen, men det kommer jeg ind på i en anden artikel.
Herefter bruges koden wp_enqueue_style, der er en indbygget funktion i WordPress der indlæser en CSS-fil. Funktionen har to paremetre – først et navn til stylesheet’et (skal være unikt) og herefter adressen til CSS-filen. Navnet finder du selv på, men ved adressen anvendes nu en ny WP-funktion der hedder plugins_url. Det er en funktion, der returnerer adressen til din pluginsmappe i din WordPress installation, og så tilføjer den hvad der står bagefter. I dette tilfælde ville funktionen så returnere mappen plugins/testplugin/Style.css og det er jo lige nøjagtig den CSS-fil der skal indlæses.

Skriv tekst i bunden af alle sider

Nu skal vi så tilføje den kode, som giver hovedfunktionaliteten i dette simple plugin. Vi skal lave en kode, som tilføjer en tekst til bunden af alle sider. Her tilføjer vi koden:

function testtekst ( $content ) {
 return $content .= '<p>Hello World!</p>';
}
add_action( 'the_content', 'testtekst' );

Først laver vi altså en ny funktion, som vi giver navnet testtekst og indsætter variablen $content som parameter til funktionen. Når funktionen bliver kørt, returneres så teksten “Hello World!”. Herefter tilføres der så WP-funktionen add_action som tilføjer funktionens resultat til the_content der er betegnelsen for bunden af siden i WordPress.
Eksemplet her kunne måske være lavet en smule simplere. Vi kunne have undgået at anvende $content som parameter, og så kunne vi bare have skrevet return ‘<p>Hello World!</p>’ i stedet for. Men her indlæses altså variablen $content, så hvis du i forvejen har skrevet noget tekst i denne indlæses den altså. Ved at bruge operatoren .= i stedet for =, opnår jeg at der til den tekststreng der i forvejen står i $content vil blive tilføjet teksten “Hello World!”.

Hvad skal jeg bruge det til?

Måske ikke så meget, men det er et simpelt plugin, som gør at du kan komme igang med at se hvordan man laver sit eget plugin. Du kan i princippet også bruge det til at indsætte en reklame i bunden af hver side.
Den fulde kode er her:

<?php
/**
* Plugin Name: Testplugin
* Description: Mit første plugin
* Author: Andreas Andersen
* Author URI: https://www.it-blogger.dk
* Plugin URI: https://www.it-blogger.dk
* Version: 1.0
*/
function aandev_sitemessage_plugin_css() {
 wp_enqueue_style('Plugin CSS',plugins_url('/site-message/Style.css'));
}
add_action('wp_enqueue_scripts',"aandev_sitemessage_plugin_css");
function testtekst ( $content ) {
 return $content .= '<p>Hello World!</p>';
}
add_action( 'the_content', 'testtekst' );
?>

Når du gemmer PHP-filen nu, vil du se at der i bunden af hver side er kommet teksten “Hello World!” ligesom vi bad om.

Hvis du har nogle spørgsmål er du meget velkommen til at skrive en kommentar nedenunder. Ellers kan du vente dig flere artikler, der viser hvordan du laver flere funktionaliteter i dine egne plugins til WordPress.

5 1 vote
Article Rating

Andreas Andersen

Forfatter og grundlægger af IT-blogger.dk, der har blogget om IT-emner siden 2012. Findes på Mastodon på @aphandersen@ansico.dk

Abonner
Giv besked ved
guest

0 Comments
mest stemt på
nyeste ældste
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x