Algaja juhend WordPressi plugina arendamiseks
WordPress CMS on muutnud meie interneti nägu ja võimaldanud uute ideede hoogu kasvatada ja avatud lähtekoodiga liikumine omab tugevat kohalolekut, mis on juurdunud tarkvarast ja veebiarendusest. WordPress on blogimisplatvorm, mis on võimeline käivitama paljudes teistes skriptides, nagu veebifoorumid, töölauad ja isegi klassikaline veebilehe sisuhaldussüsteem.
Me läheme üle mõned viisid, kuidas alustada WordPressi pluginate arendamist. Sammud on üsna lihtsad ja ei vaja õppimiseks suurt pühendumist. Vajalik PHP teadmine oleks kasulik isegi WordPressi failistruktuuri ja halduspaneeli põhiteadmistega.
Selles lühikeses juhendis läheme läbi põhilised sammud, mis on vajalikud lihtsa WordPress-plugina loomiseks. Funktsionaalsust kasutatakse selleks, et luua dünaamilised väljavõtted, mis põhinevad meie funktsioonikõnesse edastatud numbril. Peate üles laadima plug-ini faili ja aktiveerima administraatori paneelilt, seejärel järgima, kutsudes meie funktsiooni mis tahes lehekülgedelt, mida me tahame, et väljavõte ilmuks. Viited lõpule viidud plugina lähtekoodile on selles artiklis juba lisatud hiljem :)
Miks arendada WordPressi?
Lisandmoodulid on suurepärane võimalus oma blogi funktsionaalsuse suurendamiseks lisavõimaluste lisamisega. Neid saab paigutada mistahes oma malli sisemusse funktsioonikonksudega. Aja jooksul on WordPressi pistikprogrammi laiendatavus võimaldanud tohutut kasvu ja sadu arendaja esitatud tarkvaraprogramme.
WordPress pakub spetsiaalselt selliseid täiustatud funktsioone oma CMS-is, et unikaalsed pluginad on vähe ja kaugel. Arendajana saate täieliku kontrolli veebipäeviku taustapõhiste üksikasjade üle. PHP arendaja rentimine süsteemi pistikprogrammi loomiseks maksaks palju rohkem, kui võite ette kujutada ja API on üsna lihtne töötada ja ennast õppida.
Teise argumendina on WordPressi arendamine väga hea tava, et ennast teistesse piirkondadesse häälestada. Väiksemate pluginate ja külgriba vidinate ehitamine WordPressis aitab teil mõista, kuidas backend süsteem tõesti toimib. See ei piirdu ainult WordPressiga, kuna saate suurema osa sisusüsteemidest.
1. WP kausta struktuur
Sissejuhatus kausta WordPress näitab rakenduse põhikatalooge. Wp-sisus on a pluginad kataloog. Siin on koht, kus kõik teie individuaalsed pluginad paigutatakse, kas üksikud failid või õigesti nimetatud alamkataloogid.
Väiksemate pistikprogrammide puhul, mis vajavad ainult ühte .php-faili, on teil võimalus see otse pluginatesse / kataloogi paigutada. Siiski, kui hakkate keerukamate rakenduste väljatöötamisel, on palju kasulikum luua alamkataloog, mille nimi on teie plugina. Toas saate paigutada JavaScripti, CSS-i ja HTML-i koos PHP funktsioonidega.
A readme.txt
fail võib olla kasulik ka siis, kui plaanite oma plugina allalaadimiseks pakkuda. See fail peaks sisaldama teie nime ja seda, mida plugin teeb. Autorina võite kaaluda ka üksikasju iga ülevaatuse kohta ja millised värskendused on välja tulnud.
2. PHP-faili käivitamine
Uue plugina loomisel peate alustama lihtsa PHP-failiga. Seda saab nimetada midagi, kuid peaks üldjuhul kajastama teie pistikprogrammi ametlikku nime. Nii näiteks olen loonud meie baaskoodi ja nimetanud oma faili hongkiat-excerpt.phps.
Pistikprogrammi esimesed read peab olge kommenteerimisandmed parsimootori kohta. See on äärmiselt oluline, kuna WordPress ei suuda teie faili töödelda. Allpool on näide koodilõike, mida saate kopeerida ja hallata oma enda poole.
Plugina nimi on see, mis teie administraatori taustapaneelil aktiveerimise ajal ilmub. Sama kehtib URI-ga, mis paigutatakse pistikprogrammide paneeli detailipaanile. Kuigi see ei pea sisaldama versiooni või kirjeldust, teeb see teie pluginast palju professionaalsemaks.
3. WordPressi nimetamise konventsioonid ja parimad tavad
Pistikprogrammi tegelikult on võimalik struktureerida. Mitu korda loob PHP arendajad terve klassi süsteemi, et vältida kokkupõrkeid funktsioonide ja muutujate nimedega. Kui te ei tunne PHP täiustatud OOP-funktsionaalsust, siis on parem kirjutada oma kood ainult proovifunktsioonides.
Nii näiteks näeme meie näite koodi jaoks ühte funktsiooni meie andmete majutamiseks. Samuti peame määratlema mõned muutujad, mis on võtmetähtsusega meie malli failide rakendamiseks. Allpool on toodud näide bitist meie plugina failist, mille põhiloogika on eemaldatud.
Proovikoodi kirjutamisel on kõige parem järgida WordPressi kehtestatud eeskirju ja juhendeid. Kuna on juba nii palju sisemisi funktsioone, mida on juba määratletud, saate vältida duplikaate, lisades etiketile kõik oma muutujad ja funktsiooninimed.
Ülaltoodud näidetes kasutasime kõiki meie seadeid hongkiat. Selle saab asendada mis tahes teie valitud märksõnaga, mis on tavaliselt seotud teie plugina nimega. Ülaltoodud kood on õige proovi seaded ja ei tohiks olla seotud meie lõpliku pluginaga. See on vaid selleks, et anda teile mõningane ülevaade sellest, kuidas peaks muutujate nimed ja funktsioonikõned olema kirjutatud.
4. Filtrite ja toimingute tegemine
On veel üks mõiste, mida tuleb mainida, enne kui me meie toores koodis hüpata. Meetmed ja filtrid on kaks täiesti erinevat mõistet, mis on sügavalt seotud pluginaandmetega manipuleerimise viisidega.
Need kaks bitti koodi tulevad standardi WordPress API. Filtrid ja toimingud võimaldavad pistikprogrammide arendajatel uuendada teie uue pluginaga seotud WordPressi administraatori paneeli koodi. See tähendab, et võite külgriba juurde lisada uue vahekaardi või täiendavaid seadistuste linke oma pistikprogrammide jaoks.
Lisa_filtri () mõistmine
A filter kasutatakse WordPressisse edastatud tekstil või andmetel. Filtrite abil, mida olete täiesti sõna otseses mõttes võimeline filtri sisu oma kohandatud kirjalike funktsioonide kaudu andmete muutmiseks.
Näiteks võite luua muutmiseks filtri $ the_content
mis on WordPressi poolt määratud muutuja, mis sisaldab kogu WordPressi artikli postisisu. Meie pistikprogrammi võtame $ the_content
ja sümbolite pikkuse lühendamine väljavõtteks.
Filtrid on kasulikud, kui kirjutad pluginaid, et kohandada oma blogi välimust ja tundeid. Need on eriti populaarsed külgriba vidinate või väiksemate funktsioonide kirjutamisel, et muuta postituse kuvamise viisi. Allpool on näidisjoone kood, mis näitab filtri rakendamist.
add_filter ('wp_title', 'hongkiat_func');
Siin lisame filtri WordPressi lehekülje pealkirja. Pange tähele, et see kood ei ole seotud meie ametliku pistikprogrammiga ja seda kasutatakse ainult näitena.
The add_filter
funktsioon on emakeel WordPressile ja seda kasutatakse uue filtri lisamiseks lehekülje sisus olevale muutujale. Ülalolevas reas sihtime $ wp_title
mis sisaldab meie praeguse lehe pealkirja. Seejärel edastame selle muutuja võltsfunktsiooniks nimega hongkiat_func ()
mis võib siis uue pealkirjamärgi manipuleerida ja tagastada mis tahes eesmärgil.
Lisa täienduse mõistmine ()
Toimingud on sarnased filtritega, sest need ei tööta andmete bitidel, vaid on suunatud eelnevalt määratletud piirkondadele teie mallides ja administraatoripaneelil. Näiteks võite rakendada toimingut, kui uuendate või redigeerite lehe sisu. WordPress pakub API dokumentatsioonis terviklikku tegevuste nimekirja. Allpool on väike näide tegevuste kohta, millega saate tutvuda mõningate eelnevalt määratletud sihtvaldkondadega.
- avaldada_post - kui postitus avaldatakse või kui staatus muutub “avaldatud”
- Save_post - kutsutakse, kui postitus / leht on loodud algusest või uuendatud
- wp_head - kutsutakse, kui mall laaditakse ja käivitatakse
wp_head ()
funktsiooni - loop_end - kutsuti kohe pärast seda, kui viimane postitus on töödeldud WordPressi lingi kaudu
- trackback_post - helistatakse, kui postitusse lisatakse uus trackback
Jällegi näeme, kui lihtne see koodikood on. Kui sa mõistad erinevusi toimingute ja filtrite vahel, siis on teil nii palju lähemal terviklike, töötavate WordPress pluginate loomisele. Allpool on teine koodirida, mis käivitab toimingufunktsiooni Save_post
konks. Selle uuesti selgitamiseks ei puuduta see meie praegust arenevat pluginat ja seda kasutatakse ainult näite koodina add_action ()
funktsiooni.
add_action ('save_post', 'teate');
Nii näeme siin sarnast seadistust add_filter ()
. Meil on vaja 2 muutujat, esimene omab meie konksu, millele me sihtime. Sel juhul Save_post
mis tähendab, et kui uus postitus on salvestatud, helistame oma teisel positsioonil määratud funktsioonile (teatama ()
). Sa võid ilmselt värskendada teatamist, et see oleks mis tahes funktsiooni nimi, mida soovite käivitada, kuid see pole meie praeguse näite plugina jaoks vajalik.
Meie plugina loogika viimistlemine
Meie tee lõpuleviimine lisab meie lõpliku funktsiooni meie pistikprogrammile. API-dokumentatsioon on väga spetsiifiline ja annab suurepärase ressursi arendajatele, kellel võib olla täiendavaid küsimusi. Materjal võib tunduda keeruline, kui te ei tunne PHP-d, kuid võtate aega mõistetega ja asjad hakkavad loomulikult voolama!
Allolev funktsioon tuleb lisada kohe pärast teie plugina päise kommentaari. Teise võimalusena võidakse see paigutada ka oma teema sisse funktsioonid.php
faili. Koodi kasutatakse dünaamilise postisisu loomiseks piiratud tähemärkide alusel.
Seega on meie näite puhul võimalik piirata ainult 55 tähemärgi pikkust lugu hk_trim_content ()
funktsiooni. Sa võid seda koodi veidi välja kutsuda külgriba vidinast või mõnest teisest teemateemast $ the_content
.
= $ limit) array_pop ($ content); $ content = implode ("", $ content). '…'; else $ content = implode ("", $ sisu); $ content = preg_replace ('/\t.+\t/', ", $ content); $ content = kohaldatakse_filtreid ('the_content', $ content); tagasi $ content;?>
Ei tohiks eeldada, et te mõistate täielikult kõiki siin kasutatud sisemisi muutujaid või funktsioone. Väga hea algus on lihtsalt üldise arusaama saamine oma funktsioonide kirjutamisest ja sellest, kuidas näide välja näeks.
Samuti võite tähele panna, et kasutame kõnet filtrid
mis on teine WordPress-spetsiifiline funktsioon. See on veel üks aspekt, mida sa ei pea täielikult mõistma, kuid see aitab WP-l tulevikus programmeerida. Täpsemat teavet ja KKK-sid selles küsimuses leiate rakenduse_filtri viite lehelt.
Ülaltoodud põhifunktsioon on nimetatud hk_trim_content ()
. Selleks on vaja ainult 1 parameetrit $ limit
. Seda võiks ka lühendada $ lim
mis peaks salvestama täisarvu, märkides, kui palju märke teie väljavõtte piiramiseks. Sisu kasutatakse täislehekülgedel ja ka staatilistel lehtedel (meie kohta, kontakt).
Seetõttu peaksime selle funktsiooni nimetamiseks lisama parameetri meie mallifailidesse. See paigutatakse kusagil võimalikuks sinu index.php
või loop.php
peate esmalt installima plugina. Järgnev näide:
Plugina installimine ja käivitamine
Kui soovid kõvakoodist vahele jätta, olen loonud demo jaoks plugina jaoks proovifaili. Lihtsalt laadige see fail alla (ümbernimetage see .php-ks) või kopeerige / kleepige kood uude PHP-dokumenti ja laadige see oma / wp-content / plugins
kataloog.
Kui olete lõpetanud, siis soovite juurdepääsu WordPressi halduspaneelile ja sirvida just installitud demo jaoks olemasolevaid pluginaid. Kui te ei aktiveeri midagi uut, siis alles siis, kui me oma funktsioonikõnes käsitsi lisame. Selleks lihtsalt navigeerige Välimus -> Redaktor
otsige single.php
.
See fail sisaldab kõiki põhiteksti postituse lehekülje HTML / CSS malli. Kerige alla, kuni leiate sisu()
ja asenda ülaltoodud näidiskoodiga. See piirab kõiki teie artikli lehekülgi 55 tähemärgiga olenemata vaatest. Sa võid lisada ka sellesse funktsiooni sarnaste lehekülgedega oma mallide kataloogis, näiteks search.php
või archive.php
.
Järeldus
Need on mõned põhitõed, mis aitavad teil alustada WordPressi arendamist. Plugin süsteem on suur ja sisaldab palju sisemist funktsionaalsust. Kui teil on juba idee pistikprogrammi kohta, siis proovige seda kohaliku WordPressi installeerimisega, et neid teemasid harjutada.
Kui sa ikka veel segaduses palju teavet, saate vaadata WordPressi dokumentatsiooni ja otsida sealt oma vastust. Arengukogukond on täis kasulikke kasutajaid ja foorumid hoiavad arhiive küsimusi aastaid tagasi.