Hogyan használjuk a WordPress akcióhorogokat a téma testreszabásában
A WordPress gyermek témák viszonylag egyszerű módja a téma megjelenésének és megjelenésének. Ha a téma opciói nem nyújtanak megfelelő tervezési döntéseket, akkor egyszerűen hozzáadhat egy új szabályt a gyermek téma alapértelmezett stíluslapfájljához, a style.css nevű fájlhoz. De mi történik, ha azt is akarod módosítsa a téma funkcióit? Ez az egyik olyan eset, amikor a WordPress akciók segítenek.
A WordPress annyira népszerűvé vált, hogy magasan testre szabható. A WordPress Core különböző horgokkal van feltöltve, amelyek lehetővé teszik a fejlesztők számára az alapértelmezett funkciók módosítását vagy javítását. Továbbá megengedhetjük magunkat egyedi kampók témáinkban és bővítményeinkben segítsen más fejlesztőknek, hogy könnyen alkalmazkodjanak kódjainkhoz.
A WordPress Hookokról
A WordPress horgok némileg hasonlítanak a valódi horgokhoz, abban az értelemben, hogy a helyes helyszínen elkaphatják a kívánt halakat, ha megfelelően használják őket.
tudsz távolítsa el a fogott funkciót (pl. eltávolíthatja a WordPress admin sávot az alacsony szintű felhasználók számára) hagyja érintetlenül és javítsa saját funkcióival (pl. több menüt vagy widget-területet adhat hozzá egy témához), vagy lehet felülírja azt (pl. módosíthatja egy magfunkció viselkedését).
Két különböző típusú horog van a WordPressben: akciók és szűrők. Ebben a hozzászólásban megnézzük, hogyan tudunk a téma testreszabása során használjon akcióhorogokat.
Hogyan működik a WordPress?
Egy nagyon egyszerű nyelv használata, akciók jelezze valami történt a WordPress oldal életciklusa alatt: az oldal bizonyos részei betöltődtek, bizonyos beállítások vagy beállítások be lettek állítva, a beépülő modulok vagy widgetek inicializálva vannak, és így tovább.
Szűrők eltérnek akciók természetükben. Ők megszokták átadja az adatokat, és módosítani, kezelni vagy feltartóztat azt a képernyőn történő megjelenítés előtt vagy a felhasználói adatok tárolására az adatbázisba.
A WordPress oldal minden fontos mérföldkőjén egy életciklus van akció vagy a szűrő horog, amire tudunk adjon hozzá egyéni kódot az alapértelmezett viselkedés módosításához igényeinknek megfelelően.
A kérés során futó bizonyos műveletek és szűrők attól függnek, hogy melyik oldalt kérte a felhasználói ügynök: például egyetlen postai kérés esetén az egyes bejegyzésekhez kapcsolódó horgok állnak rendelkezésre, de az oldal más részeivel kapcsolatos horgok (pl. Az adminisztrációs terület) nem.
Keresse meg az akcióhorogokat
A WordPress Codex cselekvési referenciája részletes áttekintést ad a különböző kéréseken futó műveletekről. A lényeg az, hogy ha egy olyan feladatot akarunk elérni, amire szükségünk van horog a megfelelő helyre, nem előtte vagy utána, különben a művelet nem fejeződik be.
Tehát például, ha szeretnénk adjon hozzá Google Analytics-kódot egy webhelyhez kell a lábléc betöltése előtt akassza fel a műveletet.
Ha a téma testreszabásáról beszélünk, az akcióhorgok két különböző helyről származnak: innen WordPress Core és maga a téma. Vannak olyan témák, amelyek egyáltalán nem rendelkeznek horgokkal, de mások a fejlesztőknek néhányat vagy többet kínálnak - ez mindig a téma szerzőjének választása. Az alapértelmezett húsz tizenöt téma csak egy akcióhúzóval rendelkezik a lábléc testreszabásához "twentyfifteen_credits" néven..
Ha szeretne a forráskódot böngészni, akkor a keresési akasztók is könnyen megtalálhatók. Az akcióhorgokat hozzáadjuk a kódhoz a do_action () WordPress funkcióval.
Ha egy gyorsabb keresést végez a 'do_action' kifejezéshez egy fejlettebb kódszerkesztőben - mint az alábbi Eclipse-ben -, láthat egy listát azokról a helyekről, ahol az egyéni funkciókat a maghoz csatlakoztathatja. Kerestem a / Wp-includes / mappát, de kereshet a / Wp-admin / mappa, amely tartalmazza a WordPress műszerfalához kapcsolódó akcióhorogokat (adminisztrációs terület).
A jó dolog az, hogy az akcióhorogok nevei általában eléggé megmagyarázóak, de vannak általában egy szép megjegyzés a kódon belül ez több tudást adhat arra, hogy az adott akcióhorog jó-e az oka annak, hogy használni akarja.
Például a kód megjegyzés, mielőtt a 'widgets_init' akcióhorog megmondja “tüzek az alapértelmezett WordPress widgetek regisztrálása után”. Ha a kampó előtt megpillantja a kódot, akkor az alapértelmezett WP-widgetek inicializálását megtalálhatja előtte - így biztos lehet benne, hogy a megjegyzés nem hazudik, és ha regisztrálni szeretné saját egyéni widgetjét, ez lesz a helyszín.
Sok esetben a forráskód sokkal több információt nyújt számunkra, mint a Codex, így jó ötlet, hogy megtanuljuk, hogyan lehet gyorsan navigálni benne.
Saját műveletek hozzáadása
Ha saját akciót szeretne hozzáadni, meg kell hozzon létre egy egyéni funkciót és ezt a funkciót egy adott akcióhoroghoz kösse az add_action () WordPress funkció használatával. A hozzáadott () függvényhez hozzáadott egyéni műveletek általában a helyszínen indult amikor a mag a megfelelő do_action () függvényt hívja.
Lássunk egy egyszerű példát.
Hogyan kell megtalálni a keresett akasztót?
Tegyük fel, hogy hozzá szeretné adni az egyéni faviconot a webhelyéhez. Először meg kell találni a megfelelő akcióhorogot, amellyel saját funkcióit kötheti.
Gondolkozzunk. Ha egy egyszerű HTML-oldalhoz szeretne hozzáadni egy favicon-ot, hová tennéd? Természetesen be kell helyezni azt a
a HTML-fájl következő része a következő jelöléssel:Tehát az akcióhorognak kell lennie a. \ t szakasz.
(1) Nyissa meg a Műveleti hivatkozást, és nézze meg, mit kell kínálnia. Szerencsénk vagyunk, hiszen ha böngészünk az akciókban, csak egy, a wp_head nevet találunk, amely a nevén alapuló lehetőséggel függ össze a
szakasz.(2) Hogy biztosak legyünk ellenőrizze a WordPress Codex dokumentációját. A Codex azt tanácsolja “ezt a kampót úgy használja, hogy a funkciót visszhangozza a böngészőre”, így most úgy tűnik, hogy tökéletes nekünk. De nézzük meg a forráskódban.
(3) Mivel ez a horog nem kapcsolódik az adminisztrációs területhez, a keresést a következő helyen kell végrehajtani: / Wp-includes / mappát. Ha a "wp-head" szót keressük, sok eredményt kapunk, mivel a WP Core sokszor használja ezt a konkrét műveletet.
Meg kell keresnünk azt a helyet, ahol definiálódik, ezért keresse meg a kifejezést csináld ezt a függvényt ('wp_head'. Ne feledje, hogy a zárójeleket nem fejeztük be, mivel még nem tudjuk biztosítani, hogy ennek a műveletnek van-e paramétere vagy sem.
Az Eclipse csak egy eredményt ad vissza, amely megtalálható a /wp-includes/general-template.php fájlba. Az akcióhorog meghatározás előtti megjegyzés azt mondja, hogy “nyomtat szkriptet vagy adatot a fejcímkén az elülső végén”, így most már biztos lehetünk benne wp_head az akcióhorog, amire szükségünk van.
Paraméterek ellenőrzése
Ha hozzáadod a saját műveleteidet, akkor is meg kell győződned arról, hogy a használni kívánt kampó paramétereket vesz-e el, vagy sem. Ezt könnyen megtudhatja a do_action () függvény segítségével.
A do_action () függvény szintaxisa a következő:
do_action ('name_of_action' [, $ paraméter1, $ paraméter2,…])
Csak a művelet neve szükséges, a paraméterek opcionálisak. Ha az argumentumokat találja a do_action () függvény megfelelő hívásában, akkor meg kell vegye fel azokat a létrehozott egyéni funkció deklarációjában.
Ha nem találja meg, akkor az egyéni funkciónak argumentum nélkül kell működnie. A wp_head akcióhorog do_action () definíciójában nincsenek paraméterek.
Hasonlítsuk össze azt a műveleti kampóval, amely egy paramétert vesz fel. A 'wp_register_sidebar_widget' nevű akcióhorog egy olyan paramétert vesz fel, amelyet mindig át kell adnia az egyéni függvényhez, amelyet a kampóhoz köt..
Nézzük meg a különbséget a két eset doekven () szintaxisában:
do_action ('wp_head'); do_action ('wp_register_sidebar_widget', $ widget);
Az első esetben nincs paraméter, így az egyéni funkció a következő szintaxist használja:
funkció my_function_without_parameters () …
A második esetben van egy paraméter, amelyet mindig argumentumként kell átadnia az egyéni funkció deklarációjában:
funkció my_function_with_parameters ($ widget) …
Az egyéni funkció bekapcsolása
Most mindent tudunk, amire szükségünk van. Hozzuk létre az egyéni funkciót, amely webhelyünkön egy favicont jelenít meg.
Először hozzon létre egy új függvényt argumentumok nélkül, majd kösse össze a wp_head akcióhoroggal az add_action () WordPress funkció segítségével.
függvény custom_add_favicon () echo ”„ add ('wp_head', 'custom_add_favicon');
Neked kell adja át a nevet az akcióhorog az add_action () függvényhez érvként először, akkor kell adja hozzá az egyéni funkció nevét.
Ezek a két kiegészítő paraméter (). Két opcionális paramétere is van, kiemelten fontos és elfogadott érvek. Lássuk, hogyan kell ezeket használni.
A prioritások meghatározása
Sok esetben előfordul, hogy egynél több akció kötődik ugyanahhoz a horoghoz. Így melyiket először végrehajtják? Ez az, ahol tudjuk használni $ prioritás opcionális paraméter Az Add_action () függvény.
A prioritást pozitív egész számként adjuk hozzá, az alapértelmezett érték 10. Ha azt szeretnénk, ha egy akciót korán hajtanánk végre, akkor alacsonyabb értéket adunk, ha azt szeretnénk, hogy később végre lehessen hajtani, nagyobb értéket adunk neki.
Tehát, ha úgy gondoljuk, hogy a faviconnak korán kell lennie, akkor a következő módon hozzáigazíthatjuk az előző addmiselt () hívását:
add_action ('wp_head', 'custom_add_favicon', 5);
Kérjük, vegye figyelembe, hogy a prioritásoknak mindig kell lenniük viszonyítva a többi egyéni funkcióhoz ugyanazt az akcióhorogot használják.
Adja meg az elfogadott érvek számát
Ha elfogadja az elfogadott érvek számát, ha olyan akcióhorogot használ, amely paramétereket vesz igénybe. Lássuk a korábban használt példát.
A 'wp_register_sidebar_widget' akcióhorog egy paramétert vesz igénybe, így amikor egyéni függvényünket ehhez a horoghoz kötjük, akkor ezt argumentumként is fel kell tüntetnünk, ha az add_action () függvényt hívjuk..
Ebben az esetben kódunk így néz ki:
funkció my_sidebar_widget_function ($ widget) // Az Ön kódja add_action ('wp_register_sidebar_widget', 'my_sidebar_widget_function', 10, 1);
Ne feledje, hogy meg kell hozzáadja a prioritást is (itt az alapértelmezett 10-et választottuk), hogy megbizonyosodjunk arról, hogy a WordPress tudja, hogy mit jelent az egyes paraméterek. Ha elhagytuk a prioritást, a WordPress feltételezheti, hogy 1 a prioritás ami nem igaz, mivel az elfogadott érvek számát jelzi.
Következtetés
A téma testreszabásakor számos kísérletet végezhet akcióhorogokkal. Például hozzáadhatja az egyéni szkriptet (JS) és a stílusokat (CSS) a wp_enqueue_scripts akcióhoroggal vagy a Google Analytics-kóddal a wp_footer akcióhoroggal.
Nem csak tudsz adja hozzá saját akcióit, de te is a teljes funkciók eltávolítása a WordPress magból az eltávolításiakció () függvény használatával, amely ugyanazt a logikát használja, mint az add_action ().
Ha témavezető vagy, és egy bővíthető témát szeretne készíteni, jó ötlet lehet adjunk hozzá saját egyéni akcióhorogokat a megfelelő sablonfájlokhoz a do_action () funkcióval.
Ha ezt szeretné, gondosan gondolja át a többi fejlesztő által megadott paramétereket ki fogja használni a témát érvként kell átadnia amikor az egyéni funkciókhoz akarnak kapcsolódni.
A téma egyéni akcióinak tervezése során ne felejtsük el, hogy a horgok nincs értelme, hogy az egyéni témahorgokat ugyanazokra a helyekre helyezze, ahol maga a WordPress Core saját horgokkal rendelkezik.