Mājas lapa » WordPress » Kā lietot WordPress darbības āķus tēmas pielāgošanā

    Kā lietot WordPress darbības āķus tēmas pielāgošanā

    WordPress bērnu tēmas dod relatīvi vienkāršu veidu, kā pielāgot tēmas izskatu. Ja tēmas opcijas nenodrošina jums atbilstošu dizaina izvēli, varat vienkārši pievienot jaunu noteikumu bērna tēmas noklusējuma stillapas failam, ko sauc par style.css. Bet kas notiek, kad jūs vēlaties mainīt motīva funkcionalitāti? Tas ir viens no gadījumiem, kad WordPress rīcība ir jūsu palīdzība.

    WordPress ir kļuvis tik populārs daļēji tāpēc, ka tas ir ļoti pielāgojams. WordPress Core ir piekrauts ar dažādiem āķiem, kas ļauj izstrādātājiem mainīt vai uzlabot noklusējuma funkcionalitāti. Turklāt mums ir atļauts iekļaut pasūtījuma āķi mūsu tēmām un spraudņiem palīdzēt citiem izstrādātājiem viegli pielāgot mūsu kodu savām vajadzībām.

    Par WordPress āķi

    WordPress āķi darbojas nedaudz līdzīgi reālām āķēm tādā nozīmē, ka jūs varat nozvejot vēlamās zivis pareizajā vietā, ja tos pareizi lietojat.

    Jūs varat noņemiet nozvejotu funkciju (piemēram, jūs varat noņemt WordPress administratora joslu zema līmeņa lietotājiem) atstājiet to neskartu un uzlabot ar savu funkcionalitāti (piem., varat pievienot vairāk izvēlnes vai logrīku jomas), vai arī varat ignorēt to (piemēram, jūs varat modificēt pamatfunkcijas darbību).

    WordPress ir divi dažādi āķi: darbības un filtri. Šajā amatā mēs apskatīsim, kā mēs varam izmantot darbības āķus tēmas pielāgošanā.

    Kā darbojas WordPress

    Lai izmantotu ļoti vienkāršu valodu, darbības norādiet to kaut kas ir noticis WordPress lapas dzīves cikla laikā: dažas vietnes daļas ir ielādētas, noteiktas opcijas vai iestatījumi ir iestatīti, spraudņi vai logrīki ir inicializēti utt..

    Filtri atšķiras no darbības pēc būtības. Viņi ir pieraduši nodot datus caur, un modificēt, pārvaldīt vai pārtvert to pirms attēlošanas ekrānā vai saglabājot lietotāja datus datu bāzē.

    Katrā nozīmīgajā WordPress lapas orientierī ir vai nu rīcību vai a filtru āķis, uz kuru mēs varam pievienojiet mūsu pielāgoto kodu, lai mainītu noklusējuma darbību mūsu vajadzībām.

    Noteiktas darbības un filtri, kas darbojas pieprasījuma laikā, ir atkarīgi no tā, kuru lapu pieprasīja lietotāja aģents: piemēram, vienā pēc pieprasījuma ir pieejami āķi, kas saistīti ar atsevišķiem amatiem, bet āķi, kas saistīti ar citām vietnes daļām (piemēram, administratora apgabals) nav.

    Atrast darbības āķus

    WordPress Codex darbības atsauce sniedz detalizētu pārskatu par darbībām, kas darbojas dažādos pieprasījumos. Svarīgi ir tas, ka, ja mēs vēlamies izpildīt uzdevumu, kas mums ir nepieciešams āķis pareizajā vietā, ne pirms vai pēc tā, pretējā gadījumā darbība netiks pabeigta.

    Tā, piemēram, ja mēs vēlamies pievienojiet mūsu Google Analytics kodu vietnei mums vajag āķējiet mūsu rīcību tieši pirms kājenes ielādes.

    Ja runājam par tēmu pielāgošanu, darbības āķi var būt no divām dažādām vietām: no WordPress Core un pati tēma. Ir tēmas, kurām nav āķu, bet citi sniedz izstrādātājiem dažus vai daudzus - tas vienmēr ir tematiskā autora izvēle. Noklusējuma Divdesmit piecpadsmit tēmai ir tikai viena darbības āķis kājenes pielāgošanai ar nosaukumu “divdesmit pieci kredīti”.

    Ja vēlaties pārlūkot pirmkodu, varat viegli atrast darbības āķus. Rīcības āķi tiek pievienoti kodam ar funkciju do_action () WordPress funkciju.

    Ja jūs veicat ātru meklēšanu izteicienam "do_action" uzlabotā koda redaktorā - kā es to darīju zemāk Eclipse - jūs varat redzēt sarakstu par vietām, kur varat pielāgot savu pielāgoto funkcionalitāti kodam. Es meklēju / wp-include / mapi, bet jūs varat arī meklēt / wp-admin / mape, kurā ir darbības āķi, kas saistīti ar WordPress vadības paneli (administratora zona).

    Laba lieta ir tā, ka darbības āķu vārdi parasti ir diezgan pašsaprotami, bet ir parasti ir labs komentārs koda iekšpusē kas var sniegt jums vairāk informācijas par to, vai konkrētā darbības āķis ir labs iemesls, kādēļ vēlaties to izmantot.

    Piemēram, koda komentārs pirms “widgets_init” darbības āķa norāda, ka tas ir “ugunsgrēki pēc visu noklusējuma WordPress logrīku reģistrēšanas”. Ja pirms šī darbības āķa aizvedat kodu, varat atrast visu noklusējuma WP logrīku inicializāciju pirms tā - lai jūs varētu būt pārliecināts, ka komentārs nav, un, ja vēlaties reģistrēt savu pielāgoto logrīku, tā būs pareizā vieta.

    Daudzos gadījumos pirmkods sniedz mums daudz vairāk informācijas nekā Codex, tāpēc var būt laba ideja, lai uzzinātu, kā ātri pārvietoties tajā.

    Pievienot savas darbības

    Ja vēlaties pievienot savu darbību, jums ir nepieciešams izveidot pielāgotu funkciju un saistīt šo funkciju ar konkrētu darbības āķi izmantojot papildinājumu () WordPress funkciju. Pielāgotās darbības, kas pievienotas funkcijai add_action (), parasti ir iedarbina uz vietas kad kodols zvana uz atbilstošo do_action () funkciju.

    Redzēsim vienkāršu piemēru.

    Kā atrast vajadzīgo darbības āķi

    Pieņemsim, ka vēlaties pievienot savu pielāgoto favicon savai vietnei. Pirmkārt, jums ir jāatrod pareizais darbības āķis, ar kuru varat saistīt savas funkcijas.

    Domāsim. Ja vēlaties pievienot vienkāršu HTML lapu, kur jūs to ievietotu? Protams, jums tas jāievieto iekšpusē HTML faila sadaļa ar šādu atzīmi:

      

    Tātad, nepieciešamajai darbības āķim jābūt kas saistīti ar. \ t sadaļā.

    (1) Atveriet darbības aprakstu un skatiet, ko tā piedāvā. Mēs esam laimīgi, jo, ja mēs pārlūkosim darbības, mēs varam atrast tikai vienu, wp_head, kas, pamatojoties uz tā nosaukumu, var būt saistīts ar sadaļā.

    (2) Lai būtu pārliecināts, pieņemsim pārbaudiet dokumentāciju WordPress Codex. Kodekss to iesaka “jūs izmantojat šo āķi, izmantojot savu funkciju atbalss uz pārlūku”, tā tagad šķiet, ka tas ir ideāls mums. Bet pārbaudīsim to pirmkodā.

    (3) Tā kā šis āķis nav saistīts ar administratora zonu, mums vajadzēs palaist meklēšanu / wp-include / mapi. Ja meklējam vārdu “wp-head”, mēs iegūsim daudzus rezultātus, jo WP Core vairākas reizes izmanto šo konkrēto darbību.

    Mums jāmeklē vieta, kur tā tiek definēta, tāpēc meklējiet izteiksmi do_action ('wp_head'. Ņemiet vērā, ka iekavās nav pabeigts, jo mēs nevaram būt pārliecināti, vai šai darbībai ir parametri vai nav.

    Eclipse atgriež tikai vienu rezultātu, kas atrodams iekšpusē /wp-includes/general-template.php failu. Komentārs pirms darbības āķa definīcijas norāda, ka tas ir “izdrukā skriptus vai datus galvas tagā priekšpusē”, tāpēc tagad mēs varam būt pārliecināti, ka wp_head ir rīcības āķis, kas mums nepieciešams.

    Parametru pārbaude

    Kad jūs pievienojat savas darbības, jums ir arī jāpārliecinās, vai āķis, kuru vēlaties izmantot, ņem parametrus vai ne. To var viegli noskaidrot, apskatot funkciju do_action ().

    Funkcijas do_action () sintakse ir šāda:

     do_action ('name_of_action' [, $ parametrs1, $ paraméter2,…]) 

    Nepieciešams tikai darbības nosaukums, parametri nav obligāti. Ja jūs atradīsiet argumentus attiecīgajā funkcijā do_action (), jums ir nepieciešams iekļaujiet tos izveidotās pielāgotās funkcijas deklarācijā.

    Ja jūs to neatradīsiet, tad jūsu pielāgotajai funkcijai jādarbojas bez argumentiem. Wp_head darbības āķa definīcijā do_action () nav parametru.

    Salīdzināsim to ar darbības āķi, kas ņem parametru. Darbības āķis, ko sauc par “wp_register_sidebar_widget”, ņem vienu parametru, kas jums vienmēr ir jāpāriet uz pielāgoto funkciju, kuru saistāt ar āķi.

    Redzēsim atšķirību abu gadījumu sintaksē do_action ():

     do_action ('wp_head'); do_action ('wp_register_sidebar_widget', $ widget);

    Pirmajā gadījumā nav parametru, tāpēc pielāgotā funkcija izmantos šādu sintaksi:

     funkcija my_function_without_parameters () … 

    Otrajā gadījumā ir viens parametrs, kas jums vienmēr ir jānodod kā arguments jūsu pielāgotās funkcijas deklarācijā:

     funkcija my_function_with_parameters ($ widget) … 

    Kā piestiprināt pielāgoto funkciju

    Tagad mēs zinām visu, kas mums nepieciešams. Izveidosim mūsu pielāgoto funkciju, kas mūsu vietnē parādīs favikonu.

    Pirmkārt, izveidojiet jaunu funkciju bez jebkādiem argumentiem, pēc tam piesaistiet to wp_head darbības āķim, izmantojot papildinājumu () WordPress funkciju.

     funkcija custom_add_favicon () echo ”";  add_action ('wp_head', 'custom_add_favicon');

    Tev vajag nodot vārdu no darbības āķa funkciju add_action () kā argumentu vispirms, tad jums ir nepieciešams pievienojiet pielāgotās funkcijas nosaukumu.

    Tie ir divi nepieciešamie parametri add_action (). Tam ir arī divi izvēles parametri, prioritāte un pieņemtie argumenti. Redzēsim, kā tos izmantot.

    Definējiet prioritātes

    Daudzos gadījumos notiek vairākas darbības, kas saistītas ar vienu un to pašu āķi. Tātad no kuriem viens tiks izpildīts vispirms? Šeit mēs varam izmantot $ prioritātes izvēles parametrs funkciju pievienošanas () funkcija.

    Mēs pievienojam prioritāti kā pozitīvu veselu skaitli, noklusējuma vērtība ir 10. Ja mēs vēlamies, lai darbība tiktu izpildīta agri, mēs tam piešķiram mazāku vērtību, ja mēs vēlamies, lai to izpildītu vēlāk, mēs piešķiram tam lielāku vērtību.

    Tātad, ja mēs uzskatām, ka favicon ir jāatrodas agrāk, mēs varam uzlabot mūsu iepriekšējo zvanu ar papildinājumu ():

     add_action ('wp_head', 'custom_add_favicon', 5); 

    Lūdzu, ņemiet vērā, ka prioritātēm vienmēr ir jābūt iestatīts salīdzinot ar citām pielāgotajām funkcijām kas izmanto to pašu darbības āķi.

    Pievienojiet pieņemto argumentu skaitu

    Ja izmantojat darbības āķi, kas ņem parametrus, jums ir jāpievieno pieņemto argumentu skaits. Redzēsim piemēru, ko mēs iepriekš izmantojām.

    Darbības āķis 'wp_register_sidebar_widget' aizņem vienu parametru, tāpēc, kad mēs saistām mūsu pielāgoto funkciju ar šo āķi, mums tas ir jāiekļauj kā arguments, kad mēs saucam par papildinājumu () funkciju.

    Šajā gadījumā mūsu kods izskatīsies šādi:

     funkcija my_sidebar_widget_function ($ widget) // Jūsu kods add_action ('wp_register_sidebar_widget', 'my_sidebar_widget_function', 10, 1); 

    Ņemiet vērā, ka mums ir jābūt arī pievienot prioritāti (mēs izvēlējāmies noklusējuma 10 šeit), lai pārliecinātos, ka WordPress zina, ko nozīmē katrs parametrs. Ja mēs izlaidīsim prioritāti, WordPress varētu pieņemt, ka 1 ir prioritāte tas nav taisnība, jo tā norāda pieņemto argumentu skaitu.

    Secinājums

    Jūs varat veikt daudzus eksperimentus ar darbības āķiem tēmas pielāgošanā. Piemēram, varat pievienot pielāgotos skriptus (JS) un stilus (CSS) ar wp_enqueue_scripts darbības āķi vai Google Analytics kodu ar wp_footer darbības āķi.

    Jūs ne tikai varat pievienojiet savas darbības, bet jūs varat arī noņemt pilnīgas funkcijas no WordPress koda, izmantojot funkciju remove kasutades (), kas izmanto to pašu loģiku kā pievienot..

    Ja esat tēmas autors un vēlaties izveidot paplašināmu tēmu, tā var būt laba ideja pievienojiet savas pielāgotās darbības āķus atbilstošajiem veidnes failiem ar funkciju do_action ().

    Ja vēlaties to darīt, rūpīgi pārdomājiet parametrus, ko citi izstrādātāji kurš izmantos jūsu tēmu būs jānodod kā argumenti kad viņi vēlas iekarot savas pielāgotās funkcijas.

    Izstrādājot jūsu tēmas pasūtījuma darbības vietas, neaizmirstiet, ka tas ir nav daudz jēgas iekļaut pasūtījuma tēmas āķus uz tiem pašiem plankumiem, kur pati WordPress Core ir savi āķi.