İçerik Pazarlama

PHP: Alt Sayfaları Listelemek İçin Kısa Kod Oluşturmak İçin WordPress API'sini Kullanın

Şu anda kurumsal bir müşteri için oldukça karmaşık bir uygulama üzerinde çalışıyoruz. Site WordPress'te kuruluyor ancak tonlarca zil ve ıslık var. Genellikle, bu tür bir iş yaptığım zaman, özel kodu daha sonra başka sitelerde yeniden kullanmak üzere kaydetmeyi seviyorum. Bu durumda çok faydalı bir fonksiyon olduğunu düşündüm, dünya ile paylaşmak istedim. Kullanıyoruz Fusion Page Builder ile Avada WordPress teması bir ana tema olarak ve alt temamızda oldukça fazla özel kod dağıtmak.

WordPress zaten API'sinde wp_list_pages ve get_pages gibi alt sayfaları listelemek için kullanılabilen birkaç işleve sahiptir. Sorun şu ki, bir grup bilgiyle dinamik olarak bir liste oluşturmayı umuyorsanız, yeterli bilgi döndürmezler.

Bu müşteri için, iş tanımlarını göndermek ve iş ilanlarının listesinin yayınlanma tarihine göre azalan sırada otomatik olarak oluşturulmasını istediler. Ayrıca sayfadan bir alıntı göstermek istediler.

Bu nedenle, önce sayfa şablonuna alıntı desteği eklememiz gerekiyordu. Temaları için functions.php'de şunu ekledik:

add_post_type_support ('sayfa', 'alıntı');

Daha sonra, alt sayfaların listesini, bunlara bağlantılar ve onlar için alıntılar oluşturacak özel bir kısa kod kaydetmemiz gerekiyordu. Bunu yap, kullanmalıyız WordPress Döngü. Functions.php dosyasında şunu ekledik:

// Alt Sayfaları Listede Listeleme işlevi dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (array ('ifempty' => 'Kayıt Yok', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'page', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'yayın_tarihi', 'sipariş' => 'DESC' ,); $ ebeveyn = yeni WP_Query ($ değiştirgeler); eğer ($ ebeveyn-> have_posts ()) {$ string. = $ içerik. ' '; while ($ parent-> have_posts ()): $ parent-> the_post (); $ dize. = ' '.get_the_title ().' '; eğer (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ dize. = ' '; sonunda; } başka {$ string = ' '. $ atts [' boşta '].' '; } wp_reset_postdata (); $ dizge döndür; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Artık kısa kod, alt sayfaları bir bağlantı ve alıntı ile göstermek için site genelinde uygulanabilir. Kullanım:

[list_subpages aclass = "button" ifempty = "Üzgünüz, şu anda herhangi bir iş ilanımız yok."] İş Listesi [/ list_subpages]

Sonuç, kariyer sayfalarının altındaki alt sayfalar olan yayınlanan işlerin güzel, temiz bir sıralanmamış listesidir.

Yayınlanmış iş yoksa (alt sayfa yoksa), aşağıdakileri yayınlayacaktır:

Üzgünüz, şu anda herhangi bir iş ilanımız yok.

Yayınlanmış işler varsa (alt sayfalar), aşağıdakileri yayınlayacaktır:

İş Listesi:

Douglas Karr

Douglas Karr CMO'su AÇIK İÇGÖRÜLER ve kurucusu Martech Zone. Douglas düzinelerce başarılı MarTech startup'ına yardımcı oldu, Martech satın almaları ve yatırımlarında 5 milyar doların üzerindeki durum tespitine yardımcı oldu ve şirketlere satış ve pazarlama stratejilerini uygulama ve otomatikleştirme konusunda yardımcı olmaya devam ediyor. Douglas, uluslararası alanda tanınan bir dijital dönüşüm ve MarTech uzmanı ve konuşmacısıdır. Douglas aynı zamanda Dummie's Guide ve iş liderliği kitabının yayınlanmış yazarıdır.

İlgili Makaleler

Başa dön düğmeye
Kapanış

Adblock Algılandı

Martech Zone sitemizden reklam geliri, bağlı kuruluş bağlantıları ve sponsorluklar yoluyla para kazandığımız için size bu içeriği ücretsiz olarak sağlayabilir. Sitemizi gezerken reklam engelleyicinizi kaldırırsanız seviniriz.