Startpagina » WordPress » Beginnersgids voor WordPress Plugin-ontwikkeling

    Beginnersgids voor WordPress Plugin-ontwikkeling

    De WordPress CMS heeft het gezicht van ons internet veranderd en heeft een golf van nieuwe ideeën laten bloeien en haar open source-beweging heeft een sterke aanwezigheid, geworteld in software en webontwikkeling. WordPress is een blogplatform dat de mogelijkheid heeft om in vele andere scripts te starten, zoals webforums, jobboards en zelfs een klassieke webpagina Content Management System.

    We zullen een paar manieren bespreken om aan de slag te gaan met plug-ins voor WordPress. De stappen zijn vrij eenvoudig en vereisen geen grote toewijding om te studeren. Rudimentaire kennis van PHP zou nuttig zijn, zelfs met een basiskennis van de WordPress-bestandsstructuur en het beheervenster.

    In deze korte zelfstudie bespreken we de basisstappen die nodig zijn om een ​​eenvoudige WordPress-plug-in te maken. De functionaliteit zal worden gebruikt om dynamische fragmenten te maken op basis van het aantal dat aan onze functieaanroep is doorgegeven. U moet het insteekbestand uploaden en activeren vanuit het beheerdersdashboard en vervolgens opvolgen door onze functie te bellen vanaf de pagina's waarop we het fragment willen laten verschijnen. Links naar voltooide plug-in-broncode zijn al later in dit artikel toegevoegd :)

    Waarom ontwikkelen voor WordPress?

    Plug-ins zijn een geweldige manier om de functionaliteit van uw blog te verbeteren door extra functies toe te voegen. Deze kunnen overal binnen uw sjabloon worden geplaatst door functiehaken. Na verloop van tijd heeft de uitbreidbaarheid van het plug-in-systeem van WordPress een enorme groei en honderden door ontwikkelaars ingezonden stukjes software mogelijk gemaakt.

    WordPress biedt dergelijke geavanceerde functies in zijn CMS specifiek aan, dat unieke plug-ins weinig tot geen verschil maken. Als ontwikkelaar heeft u volledige controle over de backend-details van uw weblog. Het inhuren van een PHP-ontwikkelaar om een ​​systeemplug-in te maken kost veel meer dan je denkt en de API is redelijk gemakkelijk om mee te werken en jezelf te leren.

    Als secundair argument is ontwikkelen via WordPress een goede manier om jezelf op andere gebieden in te stellen. Door kleinere plug-ins en zijbalk-widgets in WordPress te bouwen, krijgt u meer inzicht in hoe het backend-systeem echt werkt. Dit is niet alleen beperkt tot WordPress, je zult ook een groter begrip krijgen van de overgrote meerderheid van Content Systems.

    1. WP-mappenstructuur

    Een inleiding in de WordPress-mappenstructuur toont de basisapp-mappen. Binnen wp-content vind je een plugins directory. Hierin worden al uw individuele plug-ins gehuisvest, hetzij losse bestanden of de juiste submappen.

    Voor kleinere plug-ins die slechts één .php-bestand nodig hebben, kunt u dit rechtstreeks in de plug-ins / directory plaatsen. Wanneer u echter ingewikkeldere applicaties gaat ontwikkelen, is het veel handiger om een ​​submap te maken die genoemd is naar uw plug-in. Binnenin kun je JavaScript, CSS en HTML bevatten, samen met je PHP-functies.

    EEN readme.txt bestand kan ook handig zijn als u van plan bent om uw plug-in aan te bieden om te downloaden. Dit bestand moet uw naam bevatten en wat de plug-in doet. Als auteur kunt u ook overwegen gegevens over elke revisie op te nemen en welke updates zijn uitgebracht.

    2. Uw PHP-bestand starten

    Bij het maken van een nieuwe plug-in moet je beginnen met een eenvoudig PHP-bestand. Dit kan alles worden genoemd, maar moet over het algemeen de officiële naam van uw plug-in weerspiegelen. Dus ik heb bijvoorbeeld onze basiscode gemaakt en mijn bestand hongkiat-excerpt.phps genoemd.

    De eerste regels van uw plug-in moet zijn commentaarinformatie voor de ontleedmachine. Dit is extreem belangrijk omdat WordPress uw bestand niet zonder kan verwerken. Hieronder ziet u een voorbeeld van een codefragment dat u naar uw eigen exemplaar kunt kopiëren en aanpassen.

     

    De Plugin-naam is wat wordt weergegeven in uw Admin-back-endpaneel wanneer u gaat activeren. Hetzelfde met de URI die in het detailvenster binnen het plug-inspaneel wordt geplaatst. Hoewel het niet verplicht is om een ​​versie of beschrijving op te nemen, ziet uw plug-in er veel professioneler uit.

    3. WordPress Naamgevingsconventies en beste praktijken

    Er zijn een paar manieren om uw plug-in daadwerkelijk te structureren. Vele malen dat PHP-ontwikkelaars een volledig klassensysteem maken om botsingen met functies en namen van variabelen te voorkomen. Als u niet bekend bent met de geavanceerde OOP-functionaliteit van PHP, is het het beste om uw code gewoon in voorbeeldfuncties te schrijven.

    Dus voor onze voorbeeldcode zullen we een enkele functie schrijven om onze gegevens te huisvesten. We moeten ook enkele variabelen definiëren die van essentieel belang zijn om in onze sjabloonbestanden te implementeren. Hieronder staat een voorbeeld van een stukje code uit ons plugin-bestand waarvan de kernlogica is verwijderd.

    Bij het schrijven van uw voorbeeldcode kunt u het beste de voorschriften en handleidingen volgen die zijn opgesteld door WordPress. Aangezien er al zoveel interne functies zijn gedefinieerd, kunt u duplicaten voorkomen door een label vooraf te zetten in al uw variabelen en functienamen.

     

    In de bovenstaande voorbeelden hebben we al onze instellingsnamen met voorafgegaan Hongkiat. Dit kan worden vervangen door elk willekeurig zoekwoord dat gewoonlijk is gerelateerd aan uw plugin-naam. De bovenstaande code is gewoon voorbeeldinstellingen en zou niet moeten slaan op onze uiteindelijke plug-in. Dit is alleen maar om u enig inzicht te geven in hoe uw variabelenamen en functie-aanroepen moeten worden geschreven.

    4. Duiken in filters en acties

    Er is nog een ander concept dat vermeldenswaard is om te vermelden voordat we naar onze onbewerkte code springen. acties en filters zijn twee totaal verschillende concepten die diep in verband staan ​​met de manier waarop ze plugin-gegevens manipuleren.

    Deze twee stukjes code zijn standaard binnen de WordPress API. Filters en acties zorgen ervoor dat ontwikkelaars met plug-ins stukjes code kunnen bijwerken in het WordPress-beheerderspaneel met betrekking tot uw nieuwe plug-in. Dit betekent dat u een nieuw tabblad in de zijbalk of aanvullende instellingenkoppelingen voor uw pluginopties kunt toevoegen.

    Inzicht in add_filter ()

    EEN filter wordt gebruikt voor een stukje tekst of gegevens die worden doorgegeven aan WordPress. Met filters kun je dat best letterlijk doen filter inhoud via uw eigen aangepaste geschreven functies om op enigerlei wijze gegevens te wijzigen.

    U kunt bijvoorbeeld een filter maken om te wijzigen $ the_content welke een variabele is ingesteld door WordPress die de volledige berichtinhoud van een WordPress-artikel bevat. Voor onze plug-in zullen we nemen $ the_content en het verkorten van de lengte van karakters in een uittreksel.

    Filters zijn handig als u plug-ins schrijft om het uiterlijk en het gevoel van uw blog aan te passen. Deze zijn vooral populair bij het schrijven van zijbalk-widgets of kleinere functies om te wijzigen hoe een bericht moet worden weergegeven. Hieronder ziet u een voorbeeld van een coderegel die laat zien hoe u een filter toepast.

    add_filter ('wp_title', 'hongkiat_func');

    Hier voegen we een filter toe aan de WordPress-paginatitel. Let op deze code heeft geen betrekking op onze officiële plug-in en wordt hier alleen als voorbeeld gebruikt.

    De add_filter De functie is eigen aan WordPress en wordt gebruikt om een ​​nieuw filter toe te voegen aan een variabele die in de pagina-inhoud wordt gevonden. In de regel hierboven richten we ons op $ wp_title welke de titel van onze huidige pagina bevat. We geven deze variabele vervolgens door in een nepfunctie met de titel hongkiat_func () die vervolgens een nieuw title-tag kan manipuleren en retourneren voor welke doeleinden dan ook.

    Inzicht add_action ()

    Acties lijken op filters omdat ze niet werken op stukjes gegevens, maar in plaats daarvan op vooraf gedefinieerde gebieden in uw sjablonen en beheerdersvenster. Als voorbeeld kunt u een actie toepassen telkens wanneer u de inhoud van een pagina bijwerkt of bewerkt. WordPress biedt een uitgebreide lijst met acties in hun API-documentatie. Hieronder volgt een kleine lijst met voorbeeldacties om bekend te raken met enkele van de vooraf gedefinieerde doelgebieden.

    • publish_post - genoemd wanneer een bericht wordt gepubliceerd of wanneer de status wordt gewijzigd “gepubliceerd”
    • save_post - aangeroepen wanneer een bericht / pagina wordt gemaakt vanaf het begin of bijgewerkt
    • wp_head - aangeroepen wanneer de sjabloon is geladen en voert de wp_head () functie
    • loop_end - onmiddellijk gebeld nadat het laatste bericht is verwerkt via de WordPress-lus
    • trackback_post - aangeroepen wanneer een nieuwe trackback wordt toegevoegd aan een bericht

    Opnieuw kunnen we zien hoe eenvoudig dit stukje code komt neer op. Als u het verschil tussen acties en filters begrijpt, bent u veel dichter bij het bouwen van uitgebreide, werkende WordPress-plug-ins. Hieronder staat nog een coderegel die een actiefunctie initialiseert op de save_post haak. Om nogmaals te verduidelijken, dit heeft geen betrekking op onze huidige ontwikkelende plug-in en wordt alleen gebruikt als een voorbeeldcode om de add_action () functie.

    add_action ('save_post', 'notify');

    Dus hier zien we een soortgelijke setup als eerder met add_filter (). We hebben twee variabelen nodig, de eerste bevat de naam van onze haak die we targeten. In dit geval save_post wat betekent dat wanneer een nieuwe post wordt opgeslagen, we onze functie gaan bellen die is gedefinieerd in de tweede positie (de hoogte ()). U kunt uiteraard melden dat dit de functienaam is die u wilt uitvoeren, maar dit is niet vereist voor onze huidige voorbeeldinvoegtoepassing.

    Onze pluginlogica beëindigen

    Als we ons pad vervolgen, voegen we onze laatste functie rechtstreeks toe aan ons plug-inbestand. De API-documentatie is zeer specifiek en biedt een uitstekende bron voor ontwikkelaars die geavanceerde vragen kunnen bevatten. Het materiaal kan moeilijk lijken als je niet bekend bent met PHP, maar neem je tijd met de concepten en dingen zullen natuurlijk beginnen te vloeien!

    De onderstaande functie moet direct na de koptekst van uw plug-in worden toegevoegd. Als alternatief kan dit ook in uw thema's worden geplaatst functions.php het dossier. De code wordt gebruikt om dynamische berichtinhoud te maken op basis van een beperkt aantal tekens.

    Dus voor ons voorbeeld kunnen we verhaalfragmenten van slechts 55 karakters beperken met de hk_trim_content () functie. Je kunt dit stukje code gemakkelijk aanroepen uit een zijbalkwidget of een van je themabestanden om te vervangen $ the_content.

    = $ limiet) array_pop ($ inhoud); $ content = imploderen ("", $ inhoud). '...';  else $ content = implode ("", $ content);  $ content = preg_replace ('/\[.+\]/', ", $ content); $ content = apply_filters ('the_content', $ content); return $ content;?> 

    Het is niet te verwachten dat u alle interne variabelen of functies die hier worden gebruikt volledig begrijpt. Gewoon een algemeen begrip krijgen van hoe uw functies moeten worden geschreven en hoe een voorbeeldset eruit zou zien, is een zeer goed begin.

    U merkt mogelijk ook dat we een oproep gebruiken naar apply_filters wat een andere WordPress-specifieke functie is. Dit is een ander aspect dat je niet volledig hoeft te bevatten, maar het helpt wel bij toekomstige programmering via WP. Bekijk de referentiepagina van apply_filters voor meer details en veelgestelde vragen over het onderwerp.

    De kernfunctie hierboven is genoemd hk_trim_content (). Dit vereist slechts 1 parameter met de naam $ limit. Dit kan ook worden ingekort $ lim welke een integer zou moeten opslaan die specificeert hoeveel tekens je excerpt moet beperken tot. De inhoud wordt gebruikt op volledige berichtpagina's en ook statische pagina's (over ons, contact).

    Daarom moeten we om deze functie aan te roepen de parameter toevoegen aan onze sjabloonbestanden. Dit zou ergens mogelijk in je geplaatst worden index.php of loop.php bestand (en) en u moet eerst de plug-in installeren. Voorbeeld hieronder:

    De plug-in installeren en uitvoeren

    Ik heb een voorbeeldbestand gemaakt voor de plug-in om te demonstreren als je de harde codering wilt overslaan. Download dit bestand (wijzig de naam in .php) of kopieer / plak de code in een nieuw PHP-document en upload dit naar uw / Wp-content / plugins directory.

    Als u klaar bent, wilt u toegang tot het WordPress-beheerpaneel en door uw huidige set plug-ins bladeren voor de zojuist geïnstalleerde demo. Zodra u activeert, gebeurt er niets nieuws, niet totdat we onze functieaanroep handmatig toevoegen. Om dit te doen, navigeert u eenvoudigweg Uiterlijk -> Editor en zoek naar single.php.

    Dit bestand bevat alle sjabloon-HTML / CSS voor uw standaard artikelberichtpagina. Scroll naar beneden tot je vindt de inhoud() en vervang door de bovenstaande voorbeeldcode. Hiermee worden al uw artikelpagina's beperkt tot 55 tekens, ongeacht welke weergave wordt gebruikt. U kunt deze functie ook toevoegen aan vergelijkbare pagina's in uw sjabloondirectory, zoals search.php of archive.php.

    Conclusie

    Dit zijn enkele van de basisprincipes om u te laten werken binnen de WordPress-ontwikkeling. Het plug-insysteem is enorm en bevat veel interne functionaliteit. Als je al een idee hebt voor een plug-in, probeer het dan eens op een lokale installatie van WordPress om deze onderwerpen te oefenen.

    Als u nog steeds in de war bent door veel van de informatie, kunt u de WordPress-documentatie bekijken en daar naar uw antwoord zoeken. De ontwikkelingsgemeenschap zit vol met behulpzame gebruikers en de forums hebben archieven met vragen van jaren geleden.