Hemsida » Wordpress » Nybörjarens guide till WordPress Plugin Development

    Nybörjarens guide till WordPress Plugin Development

    WordPress CMS har förändrat internetets ansikte och tillåten en översyn av nya idéer att lyckas och dess öppen källans rörelse har en stark närvaro som är rotad i programvara och webbutveckling. WordPress är en bloggplattform som har möjlighet att starta in i många andra skript som webbforum, jobbbrädor och till och med ett klassiskt webbsidor Content Management System.

    Vi kommer att gå på några sätt för att komma igång med plugin-utveckling för WordPress. Stegen är ganska enkel och kräver inte en stor dedikation att studera. Rudimentär kunskap om PHP skulle vara användbar även med en grundläggande förståelse för WordPress-filstrukturen och administrationspanelen.

    I den här korta handledningen går vi över de grundläggande stegen som krävs för att skapa en enkel WordPress-plugin. Funktionen används för att skapa dynamiska utdrag baserat på numret som skickats in i vårt funktionssamtal. Du måste ladda upp plugin-filen och aktivera den från administratörspanelen och följ sedan upp genom att ringa vår funktion från vilka sidor vi vill att utdraget ska visas. Länkar till den färdiga plugin-källkoden är redan tillagd senare i den här artikeln :)

    Varför utveckla för WordPress?

    Insticksprogram är ett utmärkt sätt att förbättra funktionaliteten i din blogg genom att lägga till extra funktioner. Dessa kan placeras var som helst i din mall genom funktionskrokar. Med tiden har utvidgningen av WordPress 'plug-in system möjliggjort en enorm tillväxt och hundratals utvecklare-inlämnade mjukvaror.

    WordPress erbjuder specifikt sådana avancerade funktioner i sitt CMS att unika plug-ins är få och långt ifrån. Som utvecklare håller du fullständig kontroll över specifikationerna för din blogg. Att anlita en PHP-utvecklare för att skapa ett systemplugin skulle kosta mycket mer än du kan tänka dig och API: n är ganska lätt att arbeta med och lära dig själv.

    Som ett sekundärt argument är att utveckla över WordPress en bra övning för att anpassa dig till andra områden. Att bygga mindre plugins och sidebar widgets i WordPress hjälper dig att utveckla en förståelse för hur backend-systemet verkligen fungerar. Detta är inte bara begränsat till WordPress, eftersom du får en djupare förståelse för de allra flesta innehållssystemen.

    1. WP-mappstruktur

    En introduktion till WordPress-mappstrukturen visar de grundläggande appkatalogerna. Innehållet i wp-innehåll hittar du en plugin-program katalogen. Här är var alla dina enskilda plugin-program kommer att vara inrymda, antingen enskilda filer eller ordentligt namngivna underkataloger.

    För mindre plugin-moduler som bara kräver en enda .php-fil har du möjlighet att placera detta direkt i plug-ins / katalog. Men när du börjar utveckla mer komplicerade applikationer är det mycket mer användbart att skapa en underkatalog som heter efter din plugin. Insidan kan du hysa JavaScript, CSS och HTML innehåller tillsammans med dina PHP-funktioner.

    en readme.txt filen kan också vara användbar om du planerar att erbjuda din plugin för nedladdning. Den här filen ska innehålla ditt namn och vad plugin gör. Som författare kan du också överväga att inkludera detaljer om varje revision och vilka uppdateringar som har kommit ut.

    2. Starta din PHP-fil

    När du skapar ett nytt plugin måste du börja med en enkel PHP-fil. Det här kan namnges något, men ska generellt återspegla ditt pluginans officiella namn. Så till exempel har jag skapat vår baskod och har namngett min fil hongkiat-excerpt.phps.

    De första raderna i din plugin måste vara kommentarinformation för parseringsmotorn. Detta är oerhört viktigt eftersom WordPress inte kan hantera din fil utan. Nedan är ett exempel kod snippit du kan kopiera och mögel mot din egen.

     

    Plugin-namnet är vad som kommer att dyka upp i panelen Admin-backend när du går för att aktivera. Samma med URI som kommer att placeras i detaljeringsfönstret inuti plugin-panelen. Även om det inte är nödvändigt att inkludera en version eller beskrivning gör det att din plugin ser mycket mer professionell ut.

    3. WordPress Naming Conventions och bästa praxis

    Det finns några sätt att faktiskt strukturera din plug-in. Många gånger kommer PHP-utvecklare att skapa ett helt klasssystem för att undvika kollisioner med funktioner och variabla namn. Om du inte är bekant med den avancerade OOP-funktionaliteten i PHP är det bäst att bara skriva din kod i provfunktioner.

    Så för vår exempelkod skriver vi en enda funktion för att hysa våra data. Vi måste också definiera några variabler som är nyckeln att implementera i våra mallfiler. Nedan är ett exempel lite kod som tagits från vår pluginfil med kärnlogiken borttagen.

    När du skriver din provkod är det bäst att följa regler och guider som är uppställda av WordPress. Eftersom det finns så många interna funktioner som redan definierats kan du undvika dubbletter genom att prefixa en etikett till alla dina variabler och funktionsnamn.

     

    I ovanstående exempel prefixade vi alla våra inställningsnamn med hongkiat. Detta kan ersättas med valfritt sökord som du brukar relatera till ditt plugin namn. Ovanstående kod är bara provinställningar och borde inte hänföra sig till vår sista plugin. Detta är bara för att ge dig en inblick i hur dina variabla namn och funktionssamtal ska skrivas.

    4. Dykning i filter och åtgärder

    Det finns ett annat koncept som är anmärkningsvärt att nämna innan vi hoppar in i vår råkod. Åtgärder och filter är två helt olika begrepp som i stor utsträckning relaterar till hur de manipulerar plugindata.

    Dessa två bitar av kod kommer standard i WordPress API. Filter och åtgärder tillåter plug-in-utvecklare att uppdatera bitar av kod i WordPress-administratörspanelen som gäller din nya plugin. Det innebär att du kan lägga till en ny flik i sidofältet eller ytterligare inställningar länkar för dina plugin-alternativ.

    Förstå add_filter ()

    en filtrera används på lite text eller data som skickas till WordPress. Med filter kan du ganska bokstavligt filterinnehåll genom dina egna skräddarsydda funktioner för att ändra data på något sätt.

    Du kan till exempel skapa ett filter som ska ändras $ the_content vilken är en variabel uppsättning av WordPress som innehåller hela inlägget i en WordPress-artikel. För vår plugin tar vi $ the_content och förkorta längden på tecken i ett utdrag.

    Filtrar är till nytta när du skriver plug-ins för att anpassa utseendet på din blogg. Dessa är speciellt populära när du skriver sidorad widgets eller mindre funktioner för att ändra hur ett inlägg ska visas. Nedan visas en provkod med kod som visar hur man applicerar ett filter.

    add_filter ('wp_title', 'hongkiat_func');

    Här lägger vi till ett filter i WordPress-sidtiteln. Observera att den här koden inte är relaterad till vårt officiella plugin och används bara som ett exempel här.

    De add_filter funktionen är inbyggd i WordPress och brukade lägga till ett nytt filter till en variabel som finns inom sidinnehållet. I raden ovan riktar vi in $ wp_title som innehåller titeln på vår nuvarande sida. Vi skickar sedan denna variabel till en falsk funktion med titeln hongkiat_func () som då kan manipulera och returnera en ny titel tag för oavsett ändamål.

    Förstå add_action ()

    Åtgärder liknar filter genom att de inte fungerar på bitar av data utan istället rikta in fördefinierade områden i dina mallar och adminpanel. Som exempel kan du tillämpa en åtgärd när du uppdaterar eller redigerar en sidas innehåll. WordPress erbjuder en omfattande aktionslista i deras API-dokumentation. Nedan följer en liten lista med exempelåtgärder för att du ska bli bekant med några av de fördefinierade målområdena.

    • publish_post - kallas när ett inlägg publiceras eller när status ändras till “publicerat”
    • spara inlägget - kallas när en post / sida skapas från start eller uppdatering
    • wp_head - kallas när mallen är laddad och körs wp_head () fungera
    • loop_end - kallas omedelbart efter att sista inlägget har behandlats via WordPress-loopen
    • trackback_post - kallas när en ny trackback läggs till i ett inlägg

    Återigen kan vi se hur enkelt denna bit kodar sig till. Om du kan förstå skillnaden mellan åtgärder och filter kommer du att vara så mycket närmare byggande, fungerande WordPress-plugins. Nedan finns en annan kodlinje som initierar en åtgärdsfunktion på spara inlägget krok. För att klargöra igen gäller det inte vårt nuvarande utvecklingsprogram och används bara som en exemplarkod för att förstå add_action () fungera.

    add_action ('save_post', 'notify');

    Så här ser vi en liknande inställning som tidigare med add_filter (). Vi behöver 2 variabler, den första håller namnet på vår krok vi riktar in. I detta fall spara inlägget vilket innebär att när en ny post är sparad kommer vi att ringa vår funktion definierad i den andra positionen (anmäla ()). Du kan uppenbarligen uppdatera anmäla för att vara vilket funktionsnamn du vill köra, men det här är inte nödvändigt för vårt aktuella exempel plug-in.

    Avslutar vår Plugin Logic

    Genom att slutföra på vår väg lägger vi till vår slutliga funktion direkt i vår plugin-fil. API-dokumentationen är mycket specifik och ger en utmärkt resurs till utvecklare som kan hålla avancerade frågor. Materialet kan tyckas vara svårt om du inte är bekant med PHP men ta dig tid med koncepten och saker kommer att börja flöda naturligt!

    Funktionen nedan ska läggas till direkt efter din plugin-rubrikens kommentar. Alternativt kan detta också placeras inuti ditt tema functions.php fil. Koden används för att skapa dynamiskt inläggsinnehåll baserat på ett begränsat antal tecken.

    Så för vårt exempel kan vi begränsa historiautdrag endast 55 tecken långt med hk_trim_content () fungera. Du kan enkelt kalla den här koden från en sidofält-widget eller en av dina temafiler som ska ersättas $ the_content.

    = $ gräns) array_pop ($ content); $ content = implode ("", $ content). '...';  annat $ content = implode ("", $ content);  $ content = preg_replace ('/\[.+\]/', '$ $ content); $ content = apply_filters (' the_content ', $ content); returnera $ content;? 

    Det borde inte förväntas att du förstår alla interna variabler eller funktioner som används här. Bara en allmän förståelse för hur dina funktioner ska skrivas och vad ett exempel som skulle se ut är en mycket bra start.

    Du kanske också märker att vi använder ett samtal till apply_filters vilket är en annan WordPress-specifik funktion. Det här är en annan aspekt som du inte behöver förstå, men det hjälper till med framtida programmering över WP. Kolla in referenssidan för apply_filters för mer information och vanliga frågor om ämnet.

    Kärnfunktionen ovan heter hk_trim_content (). Detta kräver bara en parameter som heter $ gräns. Detta kan också förkortas $ lim som ska lagra ett heltal som anger hur många tecken du vill begränsa ditt utdrag till. Innehållet används på hela inläggssidan och även statiska sidor (om oss, kontakt).

    För att kunna ringa denna funktion skulle vi därför behöva lägga till parametern i våra mallfiler. Detta skulle placeras någonstans möjligen i din index.php eller loop.php fil (er) och kräver att du installerar plugin först. Exempel nedan:

    Installera och köra pluginprogrammet

    Jag har skapat en provfil för plugin till demo om du vill hoppa över den hårda kodningen. Hämta bara den här filen (byt namn på den till .php) eller kopiera / klistra in koden i ett nytt PHP-dokument och ladda upp det här till din / Wp-content / plugins katalog.

    När du är klar kommer du vilja komma åt WordPress-administrationspanelen och bläddra i din nuvarande uppsättning plugin-program för demoen som just installerats. När du har aktiverat inget kommer det att hända, inte förrän vi manuellt lägger till i vårt funktionssamtal. För att göra detta enkelt navigera Utseende -> Redaktör och leta efter single.php.

    Den här filen innehåller all mall HTML / CSS för din grundläggande artikelpost. Bläddra ner tills du hittar innehållet() och ersätt med exempelkoden ovan. Detta kommer att begränsa alla dina artikel sidor till 55 tecken, oavsett vilken vy som används. Du kan också lägga till den här funktionen på liknande sidor i katalogen mallar som search.php eller archive.php.

    Slutsats

    Det här är några av grunderna för att du ska börja arbeta inom WordPress-utveckling. Plugsystemet är stort och innehåller en hel del intern funktionalitet. Om du redan har en idé för ett plug-in kan du prova på en lokal installation av WordPress för att träna dessa ämnen.

    Om du fortfarande är förvirrad av mycket information kan du granska WordPress-dokumentationen och söka efter ditt svar där. Utvecklingssamhället är fullt av hjälpsamma användare och forumen håller arkiv med frågor från år tillbaka.