Početna » WordPress » Vodič za početnike za WordPress Plugin razvoj

    Vodič za početnike za WordPress Plugin razvoj

    WordPress CMS promijenio je lice našeg Interneta i omogućio napredak novih ideja i njegovo otvoreno kretanje ima snažnu prisutnost ukorijenjenu u razvoju softvera i weba. WordPress je platforma za bloganje koja ima mogućnost pokretanja u mnoge druge skripte kao što su web forumi, ploče za posao, pa čak i klasični sustav za upravljanje sadržajem na web-stranici..

    Prijeći ćemo na nekoliko načina da započnemo s razvojem dodataka za WordPress. Koraci su prilično jednostavni i ne zahtijevaju veliku predanost učenju. Temeljno poznavanje PHP-a bilo bi korisno i uz osnovno razumijevanje WordPress strukture datoteka i administracijskog panela.

    U ovom kratkom tutorialu prolazimo kroz osnovne korake potrebne za stvaranje jednostavnog WordPress plug-ina. Funkcionalnost će se koristiti za kreiranje dinamičkih odlomaka na temelju broja koji je prešao u naš funkcijski poziv. Morat ćete prenijeti datoteku dodatka i aktivirati je s administrativnog panela, a zatim pratiti pozivanje naše funkcije s bilo koje stranice koju želimo da se pojavljuje izvadak. Veze do dovršenog izvornog koda dodatka već su dodane kasnije u ovom članku :)

    Zašto razviti za WordPress?

    Dodaci su izvrstan način za poboljšanje funkcionalnosti bloga dodavanjem dodatnih značajki. Oni se mogu postaviti bilo gdje unutar predloška pomoću kukica za funkcije. S vremenom je proširivost WordPressovog plug-in sustava omogućila ogroman rast i stotine softvera koji su poslali programeri.

    WordPress posebno nudi takve napredne značajke u CMS-u da su jedinstveni plug-inovi malo i daleko između. Kao programer imate potpunu kontrolu nad specifičnostima vašeg weblog-a. Unajmljivanje PHP programera za izradu plugina za sustav koštalo bi mnogo više nego što možete zamisliti, a API je prilično jednostavan za rad i učenje.

    Kao sekundarni argument, razvijanje nad WordPressom je izvrsna praksa za ugađanje u druga područja. Izgradnja manjih dodataka i widgeta u WordPressu pomoći će vam da shvatite kako pozadinski sustav stvarno funkcionira. Ovo nije ograničeno samo na WordPress jer ćete steći dublje razumijevanje velike većine sadržaja sustava.

    1. Struktura WP mape

    Uvod u strukturu mapa WordPress prikazat će osnovne imenike aplikacija. Unutar wp-sadržaja pronaći ćete dodataka imenik. Ovdje će biti smješteni svi vaši pojedinačni dodaci, ili pojedinačne datoteke ili ispravno imenovani pod-direktorije.

    Za manje plug-inove koji zahtijevaju samo jednu .php datoteku imate mogućnost smjestiti ih izravno u plug-ins / direktorij. Međutim, kada počnete razvijati složenije aplikacije, mnogo je korisnije izraditi pod direktorij nazvan po vašem dodatku. Unutar možete uključiti JavaScript, CSS i HTML zajedno s PHP funkcijama.

    readme.txt datoteka također može biti korisna ako planirate ponuditi svoj dodatak za preuzimanje. Ova datoteka treba sadržavati vaše ime i što dodatak radi. Kao autor možete razmotriti i detalje o svakoj reviziji i koja su ažuriranja objavljena.

    2. Pokretanje PHP datoteke

    Prilikom izrade novog dodatka morate početi s jednostavnom PHP datotekom. To se može nazvati bilo što, ali općenito treba odražavati službeni naziv vašeg dodatka. Tako sam, primjerice, kreirao naš osnovni kod i nazvao sam svoju datoteku hongkiat-excerpt.phps.

    Prvi redak vašeg dodatka mora biti informacije o komentarima za raščlanjivanje motora. To je izuzetno važno jer WordPress neće moći obraditi vašu datoteku bez. U nastavku je primjer isječak koda možete kopirati i kalup prema svoj vlastiti.

     

    Naziv dodatka je ono što će se prikazati na ploči administrativne pozadine kada idete aktivirati. Isto je is URI-jem koji će se nalaziti u oknu s detaljima unutar ploče dodataka. Iako nije potrebno uključiti verziju ili opis, vaš će dodatak izgledati mnogo profesionalnije.

    3. WordPress konvencije imenovanja i najbolje prakse

    Postoji nekoliko načina da strukturirate svoj dodatak. Mnogo puta PHP programeri će stvoriti cijeli sustav klase kako bi se izbjegli sudari s funkcijama i imenima varijabli. Ako niste upoznati s naprednim OOP funkcionalnostima PHP-a onda je najbolje da jednostavno napišete svoj kod u uzorcima funkcija.

    Tako ćemo za naš primjer kod napisati jednu funkciju za pohranu naših podataka. Također trebamo definirati nekoliko varijabli koje su ključne za implementaciju unutar naših datoteka predložaka. U nastavku je prikazan primjer koda preuzet iz naše datoteke dodatka s uklonjenom osnovnom logikom.

    Prilikom pisanja uzorka najbolje je slijediti propise i vodiče koje je postavio WordPress. Budući da je toliko mnogo internih funkcija koje su već definirane, možete izbjeći duplikate prefiksom oznake na sve vaše varijable i nazive funkcija.

     

    U gore navedenim primjerima s prefiksima smo postavili sva imena hongkiat. To se može zamijeniti s bilo kojom odabranom ključnom riječi koja se obično odnosi na ime vašeg dodatka. Gornji kod je pravedan uzorak postavki i ne bi se smjele odnositi na naš konačni dodatak. Ovo je samo da bi vam dalo uvid u to kako bi trebalo pisati imena varijabli i pozive funkcija.

    4. Ronjenje u filtre i radnje

    Postoji još jedan koncept koji vrijedi spomenuti prije nego što skočimo u naš sirovi kod. akcije i filteri su dva potpuno različita koncepta koji se duboko odnose na način na koji manipuliraju podacima o dodatcima.

    Ova dva bita koda dolaze standardno unutar WordPress API-ja. Filtri i akcije omogućuju programerima dodataka za ažuriranje bitova koda kroz WordPress admin panel koji se odnosi na vaš novi plug-in. To znači da možete dodati novu karticu u bočnu traku ili dodatne veze postavki za opcije dodatka.

    Razumijevanje add_filter ()

    filtar se koristi na malo teksta ili podataka koji se prenose u WordPress. S filtrima koje ste doslovno sposobni sadržaj filtra putem vlastitih prilagođenih pisanih funkcija za promjenu podataka na bilo koji način.

    Na primjer, možete stvoriti filtar za promjenu $ the_content koja je varijabla postavljena od strane WordPressa koja sadrži cijeli sadržaj posta u WordPress članku. Za naš plug-in ćemo biti uzimanje $ the_content i skraćivanje duljine znakova u izvadak.

    Filtri su vam korisni kada pišete dodatke kako biste prilagodili izgled i dojam bloga. To je osobito popularno kod pisanja widgeta na bočnoj traci ili manjih funkcija za promjenu načina prikaza posta. U nastavku se nalazi uzorak retka koda koji prikazuje kako primijeniti filtar.

    add_filter ('wp_title', 'hongkiat_func');

    Ovdje dodajemo filtar u naslov WordPress stranice. Napominjemo da se ovaj kôd ne odnosi na naš službeni dodatak i ovdje se koristi samo kao primjer.

    add_filter Funkcija je izvorna za WordPress i koristi se za dodavanje novog filtra varijabli unutar sadržaja stranice. U gornjem retku ciljamo $ wp_title koji sadrži naslov naše trenutne stranice. Zatim tu varijablu prosljeđujemo lažnu funkciju pod nazivom hongkiat_func () koji bi tada mogao manipulirati i vratiti novu oznaku naslova za bilo koju svrhu.

    Razumijevanje add_action ()

    Radnje su slične filtrima jer ne rade na bitovima podataka, već ciljaju unaprijed definirana područja u predlošcima i administratorskoj ploči. Kao primjer možete primijeniti radnju svaki put kada ažurirate ili uredite sadržaj stranice. WordPress nudi opsežan popis radnji u svojoj API dokumentaciji. U nastavku se nalazi mali popis primjera aktivnosti za upoznavanje s nekim od unaprijed definiranih ciljnih područja.

    • publish_post - pozvani kada je post objavljen ili kada je status promijenjen u “Objavljeno”
    • save_post - zove se kada se pošta / stranica kreira od početka ili ažurira
    • wp_head - poziva kada se učitava predložak i pokreće wp_head () funkcija
    • loop_end - pozvani odmah nakon završetka zadnjeg posta kroz WordPress petlju
    • trackback_post - zove se kad god se doda nova trackback u post

    Opet možemo vidjeti kako se to jednostavno svodi na bit. Ako možete razumjeti razliku između radnji i filtara, bit ćete mnogo bliži izgradnji sveobuhvatnih, radnih WordPress dodataka. U nastavku je još jedna linija koda koja inicijalizira radnju na funkciji save_post kuka. Da bismo to razjasnili, to se ne odnosi na naš trenutni razvojni dodatak i koristi se samo kao dio primjera koda za razumijevanje ADD_ACTION () funkcija.

    add_action ('save_post', 'obavijesti');

    Tako ovdje vidimo sličnu postavku prije add_filter (). Trebamo dvije varijable, prva sadrži naziv naše udice koju ciljamo. U ovom slučaju save_post što znači da kad god je spremljen novi post, pozvat ćemo našu funkciju definiranu na drugoj poziciji (obavijestiti()). Očigledno možete ažurirati obavijest da bude bilo koje ime funkcije koju želite pokrenuti, no to nije potrebno za naš trenutni primjer dodatka.

    Završava našu logiku dodatka

    Završavajući na našem putu, dodajemo našu konačnu funkciju izravno u našu dodatnu datoteku. API dokumentacija je vrlo specifična i pruža izvrstan resurs programerima koji mogu imati napredna pitanja. Materijal se može činiti teškim ako niste upoznati s PHP-om, ali uzmite si vremena s konceptima i stvari će početi teći prirodno!

    Funkciju u nastavku treba dodati neposredno nakon komentara zaglavlja vašeg dodatka. Alternativno, to se također može staviti unutar vaše teme functions.php datoteka. Kôd se koristi za stvaranje dinamičkog sadržaja na temelju ograničenog raspona znakova.

    Dakle, za naš primjer možemo ograničiti izvode iz priče samo s 55 znakova hk_trim_content () funkcija. Taj bi kôd mogao lako pozvati iz widgeta u bočnoj traci ili neke od vaših tema za zamjenu $ the_content.

    = $ limit) array_pop ($ content); $ content = implode ("", $ sadržaj). "...";  drugo $ content = implode ("", $ sadržaj);  $ content = preg_replace ('/ \ _ .+ \ _', ', $ content); $ content = apply_filters (' the_content ', $ content); 

    Ne treba očekivati ​​da u potpunosti razumijete sve unutarnje varijable ili funkcije koje se ovdje koriste. Samo dobivanje općeg razumijevanja o tome kako bi vaše funkcije trebale biti napisane i kako bi izgledao primjer skupa vrlo je dobar početak.

    Također možete primijetiti da koristimo poziv apply_filters što je još jedna specifična za WordPress. Ovo je još jedan aspekt koji ne trebate u potpunosti shvatiti, ali pomaže kod budućeg programiranja preko WP-a. Pogledajte referentnu stranicu apply_filters za više detalja i često postavljana pitanja o toj temi.

    Gornja navedena funkcija hk_trim_content (). Za to je potreban samo jedan naziv granica $. To se također može skratiti na $ lim koja bi trebala pohraniti cijeli broj u kojem se navodi koliko znakova treba ograničiti na vaš izvadak. Sadržaj se koristi na punim stranicama posta i na statičnim stranicama (o nama, kontaktu).

    Stoga, da bismo pozvali ovu funkciju, trebali bismo dodati parametar u naše datoteke predložaka. Ovo bi se moglo smjestiti negdje u vašem index.php ili loop.php datoteka i morat ćete prvo instalirati dodatak. Primjer ispod:

    Instaliranje i pokretanje dodatka

    Izradio sam oglednu datoteku za dodatak za demo ako želite preskočiti tvrdi kod. Jednostavno preuzmite ovu datoteku (preimenujte je u .php) ili kopirajte / zalijepite kod u novi PHP dokument i prenesite ga na svoj / Wp-content / plugins imenik.

    Kada završite, htjet ćete pristupiti administracijskoj ploči programa WordPress i pregledati trenutni skup dodataka za instaliranu demo verziju. Nakon što aktivirate ništa novo neće se dogoditi, sve dok ručno ne dodamo u naš poziv funkcije. Da biste to učinili, jednostavno idite Izgled -> Uređivač i potražite single.php.

    Ova datoteka sadrži sve predloške HTML / CSS za vašu osnovnu stranicu posta članka. Pomaknite se prema dolje dok ne pronađete sadržaj() i zamijenite gore navedenim kodom primjera. Time ćete ograničiti sve stranice članka na 55 znakova bez obzira na to koji se prikaz koristi. U tu funkciju možete dodati i slične stranice u imeniku predložaka kao što je search.php ili archive.php.

    Zaključak

    Ovo su neke od osnova za početak rada u WordPressu. Sustav dodataka je ogroman i sadrži veliku unutarnju funkcionalnost. Ako već imate ideju za plug-in, isprobajte ga na lokalnoj instalaciji WordPressa kako biste prakticirali ove teme.

    Ako ste još uvijek zbunjeni većinom informacija, možete pregledati WordPress dokumentaciju i tamo potražiti svoj odgovor. Razvojna zajednica puna je korisnih korisnika, a forumi čuvaju arhive s pitanjima od prije nekoliko godina.