Maak je WordPress plugin beschikbaar via Composer

composer

Composer wordt steeds vaker gebruikt om allerlei PHP-libraries te installeren. Ik maak er in mijn projecten volop gebruik van. In plaats van zelf het wiel opnieuw uit te vinden, zoek je even op Packagist naar een composer-package die de functionaliteit bevat die je nodig hebt voor je project. Als je het gewenste pakket gevonden hebt, is installatie via Composer een eitje.

Inmiddels heb ik ook enkele projecten beschikbaar gesteld aan de open-source community, zoals een ShopConnectors library, een client voor Domoticz, een client voor NanoPool en een SMS-client.

Een tijdje geleden schreef ik ook een WordPress plugin om de statistieken van je ethOS-miner op je site weer te geven. Deze plugin is via WordPress.org te downloaden en daardoor eenvoudige via de WordPress backoffice te zoeken en te installeren. Toch begon ik me af te vragen of het niet mogelijk zou zijn om WordPress plugins via Composer te installeren. Dat bleek inderdaad te kunnen. Het is zelfs erg eenvoudig.

In de map van je plugin hoef je alleen maar een composer.json bestand toe te voegen. In de composer.json moet je aan een paar voorwaarden voldoen. Hieronder een voorbeeld van wat er in de composer.json van mijn ethOS Statistics Plugin for WordPress moest komen:

{
  "name": "rutgerkirkels/ethos-statistics",
  "type": "wordpress-plugin",
  "require": {
    "composer/installers": "v1.0.6"
  }
}

Zoals je hierboven kunt zien, met je aangeven dat het type WordPress-plugin is. Tevens moet composer/installers als requirement toegevoegd worden. Hierdoor wordt de plugin niet standaard in de vendors directory geïnstalleerd zoals dat bij Composer-packages gebruikelijk is, maar in de wp-content/plugins directory van je WordPress installatie.

Het enige dat je nu nog hoeft te doen, is de plugin te activeren in je WordPress backoffice.

ethOS plugin nu ook beschikbaar via WordPress.org

Een tijdje geleden meldde ik dat ik een WordPress plugin had gemaakt waarmee je de statistieken van je ethOS mining rig op je website kon plaatsen. Deze plugin was al te downloaden via GitHub, maar nu is hij ook eenvoudig te installeren via WordPress zelf.

In je WordPress Admin klik je links op ‘Plugins’. Vervolgens klik je bovenin op ‘Nieuwe plugin’. In de zoekbalk typ je nu: ‘ethos statistics’

Na enkele seconden zal WordPress de plugin gevonden hebben. Het enige dat je nu nog hoeft te doen is klikken op ‘Nu installeren’. Als de plugin geïnstalleerd is moet je hem alleen nog even activeren en de plugin is klaar voor gebruik!

Wil je de plugin alleen downloaden? Dat kan ook via WordPress.org.



Mijn eerste WordPress plugin

Jarenlang heb ik het kunnen vermijden: WordPress. Ik vond het veel leuker om maatwerk-oplossingen te maken en WordPress leek me toch meer een speeltuin voor paarse broeken. Toch besloot ik een tijd geleden om mijn website met WordPress te gaan maken, omdat maatwerk veel te veel werk zou zijn om mijn brain farts de wereld in te slingeren.

En zo gebeurde het dat mijn website op WordPress ging draaien. Even een theme uitgezocht, een paar plugins geïnstalleerd en hopla… klaar om te bloggen. Sindsdien heb ik al aardig wat artikeltjes getikt over de meeste uiteenlopende onderwerpen. Onlangs schreef ik nog een artikel over het bouwen van onze mining rig. En toen kwam ik op een idee dat ik niet kon oplossen met een standaard WordPress-plugin: Het tonen van de statistieken van de mining rig op mijn website. De mining rig beschikte over een API, waarmee ik de gegevens over het apparaat en zijn activiteit kon ophalen. Het schrijven van code voor het ophalen van deze gegevens en het verwerken daarvan zijn op zich een koud kunstje, maar met het tonen van de gegevens op een WordPress website had ik nog geen ervaring.

Na wat zoeken op het internet besloot ik een plugin te maken, die eenvoudig in WordPress geïnstalleerd kon worden. Op deze manier zouden anderen er ook nog iets aan hebben. De plugin die ik gebouwd heb, heet ethOS Statistics. Deze plugin biedt de mogelijkheid om verbinding te maken met het statistieken-paneel van een ethOS mining rig en vervolgens gegevens op te halen die middels een widget in WordPress getoond kunnen worden.

De plugin staat inmiddels online en kan gratis gedownload worden. Installatie in WordPress duurt een paar minuten en het instellen ervan is kinderlijk eenvoudig. Op dit moment is de plugin zowel nederlands- als engelstalig te gebruiken. Mocht ik de komende weken nog wat tijd over hebben, dan vertaal ik hem ook nog even in het Duits. Spreek jij een “vreemde” taal en vind je het leuk om mee te helpen vertalen? Laat dan even een commentaar achter onder dit artikel.

WordPress met SSL achter een loadbalancer

Een tijdje geleden ben ik een blog gestart en omdat ik niet zo’n zin had om veel tijd te steken in het opzetten, heb ik gekozen voor WordPress. Dit werkte in eerste instantie vrij redelijk, maar toen ik de blog achter een loadbalancer plaatste, ging er van alles mis wanneer de site via SSL (HTTPS) geladen werd. De loadbalancer gaf wel door dat het https-protocol gebruikt werd, maar daar leek WordPress niets mee te doen.

De verbinding naar de loadbalancer verloopt via HTTPS, maar de verbinding naar de webserver waar WordPress op draait verloopt via HTTP. De webserver draait op Apache.

Na wat onderzoek bleek dat Apache standaard niet doorgeeft dat de website via SSL wordt opgevraagd. De oplossing is dan ook vrij eenvoudig:

In de Apache configuratie voeg je de volgende regels toe:

<IfModule mod_setenvif.c>
  SetEnvIf X-Forwarded-Proto "^https$" HTTPS
</IfModule>

Dit zorgt er voor dat de HTTPS omgevingsvariabele op 1 gezet wordt, waardoor de is_ssl() functie van WordPress weer correct werkt.