Een paar jaar geleden was ik pas echt bezig met de ontwikkeling van WordPress plug-ins toen ik een uitstekende kleine oefening tegenkwam die me veel van de basisprincipes van het maken van plug-ins leerde. Ik begon met dit heel eenvoudige idee: een handige kleine plug-in maken die willekeurig een citaat genereert voor de beschrijving van het huidige thema. Vandaag ga ik de plug-in opnieuw bekijken die me echt heeft geholpen om nat te worden door jongens / meisjes te laten zien hoe je het zelf moet doen.
De minimale vereiste kennis voor deze tutorial is slechts enkele basiskennis van PHP (dit is bedoeld voor beginners die willen overstappen naar de ontwikkeling van plug-ins). De missie van deze les: maak een plug-in die elke keer dat de pagina wordt geladen willekeurig een citaat genereert. Wanneer de plug-in is geactiveerd in het gedeelte Plug-ins, functioneert deze stil. Er wordt geen resource gemaakt, dus we hebben de procedure voor het verwijderen niet nodig.
De volgende coderegels zijn in wezen wat WordPress vertelt dat wat je aan het bouwen bent een "plugin" is. WordPress heeft eigenlijk alleen de invoegtoepassing nodig. De volgorde van de regels is niet belangrijk, maar je zult veel overeenkomsten in deze "kop" zien als je ooit een paginasjabloon of een thema hebt gemaakt.
Het bestand moet in zijn UTF-8 codering.
/ * Naam van de plug-in: het willekeurige citaat van Adam Versie: 0.1 Plug-in URI: http://burucs.com Beschrijving: vervangt de beschrijving van de site door een willekeurig citaat Auteur: Adam Burucs Auteur URI: http://burucs.com * /
Ons eerste functionele stuk code is de generatorfunctie. Het bestaat uit een lokale, eendimensionale array, gevuld met de verschillende aanhalingstekens en aan het einde van de routine selecteren we willekeurig een citaat. We gebruiken de ingebouwde PHP rand functie hiervoor, houd er rekening mee dat de begin- en eindwaarden inclusief zijn in het gegenereerde bereik.
Volgens de gedetailleerde coderingsstandaarden van WordPress moeten we de volgende standaard benamingsconventie gebruiken om te gebruiken: twee kleine lettermonogram van de auteur en de afkorting van de pluginnaam.
function ab_arq_generate () $ quotes = array ('Silence is golden.', 'Niets is hoe het eruit ziet.', 'Alles goed maken!', 'Beter laat dan nooit', 'Zien is geloven'); return $ quotes [rand (0, count ($ quotes) -1)];
In deze sectie gebruiken we een hulpfunctie die de eerder beschreven kernprocedure gebruikt.
function ab_arq_change_bloginfo ($ text, $ show) if ('description' == $ show) $ text = ab_arq_generate (); return $ tekst;
Het filtersysteem is een belangrijk concept in de monumentale wereld van WordPress. Filters zijn de functies die uw plug-in kan inhaken met betrekking tot het wijzigen van gegevens. In dit geval, met dit grote potentieel, vervangen we de standaardbeschrijving van het actuele thema. Onderweg moeten we de bloginfo-functie gebruiken.
add_filter ('bloginfo', 'ab_arq_change_bloginfo', 10, 2);
Hier is het eindproduct van wat we hebben gedaan in deze eenvoudige les.
/ * Plugin Name: Adam's willekeurige quote Versie: 0.1 Plugin URI: http://burucs.com Beschrijving: Vervangt de beschrijving van de site door een willekeurige quote Auteur: Adam Burucs Auteur URI: http://burucs.com * / function ab_arq_generate ( ) $ quotes = array ('Silence is golden.', 'Niets is hoe het eruit ziet.', 'Alles goed maken!', 'Beter laat dan nooit', 'Zien is geloven'); return $ quotes [rand (0, count ($ quotes) -1)]; function ab_arq_change_bloginfo ($ text, $ show) if ('description' == $ show) $ text = ab_arq_generate (); return $ tekst; add_filter ('bloginfo', 'ab_arq_change_bloginfo', 10, 2);
Tot nu toe heb ik je de basis gegeven voor het maken van deze plug-in, maar je kunt deze op enkele manieren uitbreiden als je dat wilde. Bijvoorbeeld: wat als we te maken hebben met meer offertes? We kunnen kiezen uit verschillende opties. Ten eerste: we zouden een extra php-bestand met de array kunnen maken om in de plug-in te worden opgenomen. Ten tweede: gebruik van een speciale databasetabel. Ten derde: gegevens ophalen van een externe server (wat meer mogelijkheden om te ontwikkelen).
Merk op dat als u ervoor kiest om de speciale tabelversie te maken, u een goede, afzonderlijke de-installatiefunctie in uw plug-in moet maken!
Zoals we vandaag alleen de basis wilden bespreken, stop ik hier en stuur ik je naar een ander geweldig "Plugin Development Introduction" -artikel van Tom McFarlin.