WordPress qarmaqlar: Öz qarmaqlarınızı əlavə etmək üçün yeni başlayan kitabçası

Pluginlər var the WordPress-i genişləndirməyin yolu. WordPress-in təklifinizi mənbə kodu arasında zibillənmiş qarmaqlar ilə əlaqəli etməyinizin asan olmasının səbəbi.


Yazı dərc olunandan dərhal sonra bir şey etmək istəyirsən? Çıxış uzunluğunu dəyişdirmək istəyirsiniz? Öz səhifə baxış statistikalarını yaratmaq istəyirsiniz? Doğru çəngəl tapmaq, etməlisiniz.

Bəs plaginlərlə eyni şeyi etmək olar? Qarmaqlar yalnız WordPress-də istifadə üçün deyil, əslində öz işinizdə tətbiq edə biləcəyiniz bir dizayn nümunəsidir.

Bu yazıda sizə və ya başqalarına işinizi qurmağı asanlaşdırmaq üçün öz qarmaqlarınızı necə yarada biləcəyinizi sizə göstərəcəyəm.

Niyə qarmaqlar lazımdır

Dəhşətli qarmaqların necə olacağını göstərmək üçün real dünyadan bir nümunəyə baxaq: Ətraflı Xüsusi Sahələr. Bu plugin yazılara çevik xüsusi məlumat sahələri əlavə etməyə imkan verir; Google Xəritələr, nömrə sahələri, çox seçim və digərləri haqqında danışırıq.

Bütün bunlar gözəl bir istifadəçi interfeysi vasitəsi ilə edilir, bunun üçün ön hissədə get_field () və ya the_field () kimi funksiyalar istifadə olunur. İndiyə qədər yaxşıdır.

Fərz edək ki, insanlara əşyalar satmağa imkan verən, qiymətə bir sahə və valyuta üçün bir sahə təklif edən bir vasitə hazırlayırsınız. Daxili olaraq, istifadəçinin hansı valyutanı göstərməsini seçməsindən asılı olmayaraq həmişə qiymətləri Dollarla saxlamaq istəyirsən.

ACF (Advanced Custom Fields) heç bir çəngəl yoxdursa, bunu etmək çətin olacaq, bu sahəni saxlamaq üçün ACF xaricində bir mexanizm istifadə etməlisiniz. Xoşbəxtlikdən, bizi əhatə edir acf / save_post fəaliyyət. Saxlanmadan əvvəl $ _POST məlumatlarını dəyişdirmək üçün bu hərəkəti istifadə edə bilərsiniz – qiyməti Dollara çevirmək üçün mükəmməl bir vaxt.

Bu, qarmaqların çox praktik bir nümunəsidir, lakin başqa bir səbəb var: gələcək sübut və uzanma. Qarmaqlar bir API kimidir, sizə istiqamət verir; danışmaq üçün bir çərçivə. Mühüm məlumatları qənaət edirsinizsə, başqalarının ehtiyac duyduğu təqdirdə məlumatları idarə edə bilməsi üçün avtomatik olaraq bir çəngəl yaratmalısınız. Tətbiqiniz üçün kritik bir şey göstərirsinizsə, məsələn şəkillər, göstərilən şəkillərin sayını təyin etməyə imkan verən filtrdən istifadə edin.

Qarmaqlar daxili necə işləyir

Öz qarmaqlarımızı yaratmaq üçün, WordPress-in daxili olaraq etdiyini tam edəcəyik – bütün əyri funksiyaları yerinə yetirmək üçün do_action () və apply_filters () funksiyalarından istifadə edin. Bunun necə işlədiyini görmək üçün WordPress mənbə koduna müraciət edək.

WordPress bir parça yaratmaq üçün daxili wp_trim_excerpt () funksiyasından istifadə edir. WordPress 4.1-də bu funksiya 2542 xəttindən başlayaraq wp-include / formatting.php ilə müəyyən edilir. Diqqətinizi 2560 sətirinə yönəltsəniz, aşağıdakıları görməlisiniz:

$ excerpt_length = apply_filters (‘excerpt_length’, 55);

Bunun mənası aşağıdakılardır: excerpt_length qarmaqlarına ilişən hər bir funksiyanı işə salın və yekun dəyəri qaytarın. Çıxarış uzunluğunu dəyişdirən 3 plugin istifadə etdiyinizi söyləyək, sonra nə olacaq? Bu funksiyanı bir yerə yığaq və nəzər salaq:

add_filter (‘excerpt_length’, ‘plugin_a_excerpt_modify’, 20);
plugin_a_excerpt_modify ($ uzunluğu) {
geri qayıt $ uzunluğu – 10;
}

add_filter (‘excerpt_length’, ‘plugin_b_excerpt_modify’, 32);
plugin_b_excerpt_modify ($ uzunluğu) {
qayıt 104;
}

add_filter (‘excerpt_length’, ‘plugin_c_excerpt_modify’, 16);
plugin_c_excerpt_modify ($ uzunluğu) {
geri 20;
}

Sonda çıxarışın uzunluğu 104 söz olacaq. Filtrlər prioritet qaydasında yerinə yetirilir. Buna görə plagin C funksiyası əvvəlcə yerinə yetirilir. Başqa bir funksiya əyri olmasaydı, artıq 20 söz olacaqdı. Sonra, A plugin işə düşür və uzunluğu 10 olur. Nəhayət, B plugin uzunluğu 104 olur.

do_action () ilk parametr olaraq təyin olunan çəngəllə əlaqəli bütün funksiyaları yerinə yetirərək eyni mexanizmdən istifadə edir.

Qeyd edək ki, bu nümunə tamamilə əhatə olunmuşdur, heç bir xüsusi təriflərə etibar etmir. İstədiyiniz yerdə do_action (‘lol_hook’) istifadə edə bilərsiniz, ən pis halda, heç bir funksiya lol_hook-a bağlanmır. Başqa sözlə, artıq öz qarmaqlarımızı yaratmaq üçün infrastrukturumuz var!

Öz qarmaqlarımızı yaratmaq

Yuxarıda qeyd etdiyim kimi, etməliyik ki, do_action () və / və ya add_filter istifadə edib əmin olun sənədləşdirin. Bu şəkildə kodlayanlar və istifadəçilər orada olduğunu həqiqətən biləcəklər.

Gəlin, verilənlər bazasından birbaşa çəkilən son yüklənmiş şəkillərin qalereyasını yaratdığımızı güman edək:

$ args = array (
‘post_type’ => ‘qoşma’,
‘post_status’ => ‘hər hansı’,
‘orderby’ => ‘Tarix’,
‘sifariş’ => ‘DESC’,
‘posts_per_page’ => 10,
‘sahələr’ => ‘idlər’
);
$ şəkillər = yeni WP_Query ($ args);
$ gallery = ‘[‘ .’qalereya idləri ="’. implode (‘,’, $ şəkillər). ‘"’.’] ‘;
echo do_shortcode ($ qalereya);

Bu nümunədə yalnız tarixə görə sifariş edilmiş və 10 nəticə ilə məhdudlaşan şəkilləri əldə etdiyimizə əmin olaraq bir sorğu yaradırıq. Sahələr parametrindən istifadə edərək bir sıra idlərin qaytarıldığına əmin oldum. Daha sonra bu məlumatdan adi bir WordPress qalereya qısa kodunu qurdum.

Buraya qarmaqlar əlavə etmək üçün götürə biləcəyiniz iki yanaşma var. Bunu $ args massivinin tərifindən əvvəl əlavə edə bilərsiniz, məsələn:

$ posts_per_page = apply_filters (‘my_gallery / posts_per_page’, 10);

Bu vəziyyətdə, serialdakı $ posts_per_page dəyişənini istifadə etməlisiniz. Bəlkə də daha yaxşı bir həll, bütün serialın dəyişdirilməsinə imkan vermək olardı. Bu, digər pluginlərə (və ya gələcəkdə) qalereyalara kateqoriya, etiket və digər məhdudiyyətlər əlavə etməyə imkan verəcəkdir – burada tam kod var:

$ args = array (
‘post_type’ => ‘qoşma’,
‘post_status’ => ‘hər hansı’,
‘orderby’ => ‘Tarix’,
‘sifariş’ => ‘DESC’,
‘posts_per_page’ => 10,
‘sahələr’ => ‘idlər’
);

$ args = apply_filters (‘my_gallery / query_args’, $ args);

$ şəkillər = yeni WP_Query ($ args);
$ gallery = ‘[‘ .’qalereya idləri ="’. implode (‘,’, $ şəkillər). ‘"’.’] ‘;
echo do_shortcode ($ qalereya);

Bunun üçün hər şey var. Digər plaginlər indi yaradılan qalereyaların işləməsini dəyişdirmək üçün my_gallery / query_args çəngəlindən istifadə edə bilər.

Adlandırma ilə əlaqədar bir qeyd: irəli vuruş ümumiyyətlə lazım deyil. ‘My_plugin_query_args’ və ya istədiyiniz hər hansı bir formatdan istifadə edə bilərsiniz. İrəli vuruşa üstünlük verirəm, çünki onu yaratan plagin və təmin etdiyi funksionallıq dəqiq göstərilir.

Nəticə

Qarmaqlar son dərəcə güclüdür və yalnız WordPress’i genişləndirmək üçün deyil, həm də öz pluginlərinizi və ya mövzularınızı genişləndirmək üçün də istifadə edilə bilər. Tətbiqinizin hər bir çəngəlinə və qarmaqarışıq hissəsinə aşırı qalmamaq və qarmaqlar əlavə etmək üçün diqqətli olmalısınız.

Sırala, post statusuna, post_type və posts_per_page-ə ayrıca bir çəngəl əlavə etmək əvəzinə, bir anda bütün serialı dəyişdirə bilən bir filtr əlavə etdim. Digər məlumat bitləri, qarmaqlar əlavə etmək üçün məna verə bilməz, nəticədə bu sizə aiddir.

Daha modul və uzadıla bilən tətbiqlər yaratmaqda uğurlar, əvvəlcədən sərin bir yerdə öz qarmaqlarınızdan istifadə etdiyinizi bildirin!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map