PHP: Alt səhifələrin siyahısı üçün qısa kod yaratmaq üçün WordPress API istifadə edin

WordPress PHP

Hal-hazırda bir müəssisə müştərisi üçün olduqca mürəkkəb bir tətbiq üzərində işləyirik. Sayt WordPress-də tikilir, lakin bir ton zəng və fit var. Çox vaxt, bu tip işlərlə məşğul olduğum zaman, başqa saytlarda yenidən hazırlamaq üçün xüsusi kodu saxlamağı sevirəm. Bu vəziyyətdə bunun belə faydalı bir funksiya olduğunu düşündüm, onu dünya ilə bölüşmək istədim. Biz istifadə edirik Fusion Page Builder ilə Avada WordPress teması bir ana mövzu olaraq və uşaq mövzumuza bir az xüsusi kod yerləşdirmək.

WordPress onsuz da API-də wp_list_pages və get_pages kimi alt səhifələrin siyahısı üçün istifadə edilə bilən bir neçə funksiyaya malikdir. Məsələ burasındadır ki, bir dəstə məlumatla dinamik bir siyahı yaratmağı ümid edirsinizsə, kifayət qədər məlumat qaytarmırlar.

Bu müştəri üçün iş təsvirlərini göndərmək və açıq iş yerlərinin siyahısını dərc olunduqları tarixə görə azalan qaydada avtomatik olaraq əldə etmək istəyirdilər. Səhifənin bir hissəsini göstərmək istəyirdilər.

Beləliklə, əvvəlcə səhifə şablonuna alıntı dəstəyi əlavə etməli olduq. Temaları üçün functions.php-də əlavə etdik:

add_post_type_support ('səhifə', 'çıxarış');

Sonra alt səhifələrin siyahısını, onlara keçidləri və onlar üçün bir hissəni yaradan xüsusi bir qısa kodu qeyd etməliyik. Bunu et, istifadə etməliyik WordPress Döngəsi. Functions.php-də əlavə etdik:

// Siyahı funksiyasındakı alt səhifələrin siyahısı dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (array ('ifempty' => 'Qeyd yoxdur', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'səhifə', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'published_date', 'order' => 'DESC' ,); $ parent = yeni WP_Query ($ args); əgər ($ parent-> have_posts ()) {$ string. = $ content. ' '; while ($ parent-> have_posts ()): $ parent-> the_post (); $ string. = ' '.get_the_title ().' '; if (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; son; } başqa {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); return $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

İndi qısa kod bir keçid və çıxarış olan uşaq səhifələrini göstərmək üçün sayt boyunca tətbiq edilə bilər. İstifadəsi:

[list_subpages aclass = "button" ifempty = "Üzr istəyirik, hazırda heç bir iş açığımız yoxdur."] İş siyahısı [/ list_subpages]

Nəticə, karyera səhifələrinin altındakı uşaq səhifələrindən ibarət olan, yayımlanan işlərin gözəl, təmiz bir qaydasız siyahısıdır.

Nəşr edilmiş bir iş olmadıqda (uşaq səhifəsi yoxdur), aşağıdakıları dərc edəcəkdir:

Üzr istəyirik, hazırda heç bir iş açılışımız yoxdur.

Nəşr olunmuş işlər (uşaq səhifələri) olsaydı, aşağıdakıları dərc edəcəkdir:

İş siyahısı:

Siz nə düşünürsünüz?

Bu sayt spam azaldılması üçün Akismet istifadə edir. Yorumunuzun necə işləndiyini öyrənin.