Programlı olarak WordPress özel yazı tipi nasıl oluşturulur
Yayınlanan: 2021-10-05Sitenizde özel gönderi türleri yayınlamak ister misiniz? Seni koruduk. Bu kılavuzda, size bir parça kodla programlı olarak WordPress özel yazı tipini nasıl oluşturacağınızı öğreteceğiz.
Başlangıçta, WordPress yayınları yayınlamak için oluşturuldu. Ancak bunca yıldan sonra WordPress, gönderileri yayınlamak için bir platformdan çok daha fazlasıdır. Günümüzde, tüm web sitelerinin yaklaşık %40'ına güç sağlayan en eksiksiz web çözümüdür.
Pek çok işlevsellik içermesine rağmen, gönderi yayınlama, kullanıcıları sitenize çekmenin ve onları etkileşimde tutmanın en iyi yollarından biridir. WordPress varsayılan gönderi türleri sunar, ancak sitenizi özelleştirmek ve rakiplerinizden sıyrılmak için benzersiz kılmak istiyorsanız, özel gönderi türleri oluşturmak iyi bir çözüm olabilir.
Bu eğitimde, WordPress özel yazı tiplerini programlı olarak nasıl oluşturacağınızı ve yayınlayacağınızı göstereceğiz. Buna geçmeden önce, özel gönderi türlerinin tam olarak ne olduğunu ve bunları ne zaman kullanmanız gerektiğini daha iyi anlayalım.
Özel gönderi türü nedir?
Özel gönderi türleri, içerik türleridir. WordPress, varsayılan olarak birkaç gönderi türüyle birlikte gelir. Yazılar ve sayfalar en ünlüleridir ancak başkaları da vardır:
- Gönderiler
- Sayfalar
- ekler
- Navigasyon Menüleri
- Revizyonlar
- Özelleştirilmiş CSS
- Değişiklik kümeleri
Çoğu kullanıcı ilk beş türü kullanır, ancak başka türler de vardır. Aslında, muhtemelen bazılarını özel yazı türleri olduklarını bilmeden kullanıyorsunuz.
Özel gönderi türünün en iyi örneği WooCommerce ürünleridir. WooCommerce'i ilk kez etkinleştirdiğinizde, eklenti "Ürünler" adlı özel bir gönderi türü oluşturur. Ürünler oluşturmaya başladığınızda, WooCommerce'in sunduğu tüm geliştirmeleri içeren bir ürün gönderi türü olarak yayınlanırlar.
Bu gönderi türleri özel olarak adlandırılmasa da, gönderi türlerinizi WooCommerce'in yaptığı gibi oluşturabilir ve onlara istediğiniz adı verebilirsiniz. Örneğin, etkinlikler, listeler, programlar, dersler, portföyler ve profiller, belirli web siteleri için faydalı olacak gönderi türleri adları olabilir.
Sonuç olarak, özel gönderi türleri, kullanıcıların web sitelerini özelleştirmek için belirli gereksinimlere göre oluşturabilecekleri yeni bir gönderi türüdür .
Neden ve ne zaman özel bir gönderi türü kullanmalısınız?
Özel gönderi türleri (CPT), nasıl oluşturulduklarına bağlı olarak çok farklı olabilir, böylece her türlü çözümü elde etmek için bunları kullanabilirsiniz.
Özel gönderi türlerini şu durumlarda kullanabilirsiniz:
- Varsayılan gönderi türünü kullanarak yayınlayamayacağınız belirli türde bilgileri düzenli olarak yayınlayacaksınız.
- Belirli türdeki gönderileri standart olanlardan ayırma ihtiyacı
- Bazı gönderi türlerinin davranışını değiştirmeniz gerekiyor
- Gönderi özelliklerini, yayınlama sürecini ve öğeleri özelleştirmek veya bunlara bazı özel özellikler uygulamak istiyorsanız
Genel bir kural olarak, özellikleri veya özel davranışları ile farklı türde gönderilere ihtiyacınız olduğunda bir WordPress sitesinde CPT kullanmalısınız.
Özel gönderi türleri, varsayılan gönderi türlerinden farklıdır, bu nedenle varsayılan gönderi türü özelliklerinin üzerine yazmak zorunda kalmadan özel bir işlem gerektirirler. Bu, farklı gönderi türlerine ihtiyaç duyduğunuzda büyük bir avantajdır çünkü sıfırdan gereksinimlerinizi tam olarak karşılayacak özel bir gönderi türü oluşturabilirsiniz.
Artık bunların ne olduğunu ve ne zaman kullanılacağını daha iyi anladığımıza göre, özel yazı türlerinin nasıl oluşturulacağını görelim.
Programlı olarak WordPress özel yazı tipi nasıl oluşturulur
Bu bölümde, bir örnekle WordPress'te özel bir yazı tipinin nasıl oluşturulacağını göstereceğiz. Başlamadan önce sitenizi yedeklediğinizden ve henüz yoksa bir alt tema oluşturduğunuzdan emin olun.
Kontrol panelinizde Görünüm > Tema Düzenleyici'ye gidin, sağ sütundaki alt temanın functions.php dosyasını açın ve aşağıdaki betiği yapıştırın. Filmler adlı özel bir gönderi türünü kaydedecektir.
function QuadLayers_custom_post_type() { // Özel Yazı Tipi için UI etiketlerini ayarla $etiketler = dizi( 'name' => _x( 'Filmler', 'Yazı Türü Genel Adı', 'vitrin' ), 'singular_name' => _x( 'Film', 'Yazı Türü Tekil Ad', 'vitrin' ), 'menu_name' => __( 'Filmler', 'vitrin' ), 'parent_item_colon' => __( 'Üst Film', 'vitrin' ), 'all_items' => __( 'Tüm Filmler', 'vitrin' ), 'view_item' => __( 'Filmi Görüntüle', 'vitrin' ), 'add_new_item' => __( 'Yeni Film Ekle', 'vitrin' ), 'add_new' => __( 'Yeni Ekle', 'vitrin' ), 'edit_item' => __( 'Film Düzenle', 'vitrin' ), 'update_item' => __( 'Film Güncelle', 'vitrin' ), 'search_items' => __( 'Film Ara', 'vitrin' ), 'not_found' => __( 'Bulunamadı', 'vitrin' ), 'not_found_in_trash' => __( 'Çöp Kutusunda bulunamadı', 'vitrin' ), ); // Özel Yazı Tipi için diğer seçenekleri ayarlayın $args = dizi( 'etiket' => __( 'filmler', 'vitrin' ), 'description' => __( 'Film haberleri ve incelemeleri', 'mağaza' ), 'etiketler' => $etiketler, 'destekler' => dizi( 'başlık', 'düzenleyici', 'alıntı', 'yazar', 'küçük resim', 'yorumlar', 'düzeltmeler', 'özel alanlar', ), 'taksonomiler' => dizi( 'türler' ), 'hiyerarşik' => yanlış, 'genel' => doğru, 'show_ui' => doğru, 'show_in_menu' => doğru, 'show_in_nav_menus' => doğru, 'show_in_admin_bar' => doğru, 'menu_position' => 5, 'can_export' => doğru, 'has_archive' => doğru, 'exclude_from_search' => yanlış, 'publicly_queryable' => doğru, 'capability_type' => 'gönder', 'show_in_rest' => doğru, ); // Özel Gönderi Türünüzü Kaydetme register_post_type( 'filmler', $args ); } add_action('init', 'QuadLayers_custom_post_type', 0 );
Kodu yapıştırdıktan sonra, WordPress yönetici kontrol panelinizde Filmler adlı yeni bir sekme görünecektir.
Onu açarsanız, yazı düzenleyici ekranı için aynı argümanları ayarladığımız için yazı düzenleyicinin varsayılan yazı türleriyle aynı olduğunu göreceksiniz. Peki bunun özel yazı tipi düzenleyicisi olduğunu nasıl bileceğiz? Çünkü sayfanın URL'sinde ve başlığında Filmler gönderi türünü görebilirsiniz.
Artık sonucu gördüğünüze göre, her bölümün ne yaptığını daha iyi anlayabilmeniz için kodu analiz edelim.
Kod açıklaması
Programlı olarak bir WordPress özel yazı tipinin nasıl oluşturulacağını az önce gördük. Ama bu bilmeniz gerekenlerin sadece yarısı. Kendi gönderi türlerinizi oluşturmak istiyorsanız, kodu özelleştirmeniz gerekir. Ve bunun için, snippet'in her bir bölümünün ne yaptığını anlamanız gerekir.
wp_init()
kancasını, fonksiyonumuzun tek seferde çalışmasını sağlamak için kullanırız: WordPress başladığında. QuadLayers_custom_post_type()
işlevimizde üç bölüm vardır.
1) Etiketler
Bunlar, temanın farklı yönetici ve ön uç sayfalarında kullanacağı bir dizi dizedir. Bu, tek bir dizide ayarlanır:
$labels = array(
'name' => _x( 'Movies', 'Post Type General Name', 'storefront' ),
);
2) Seçenekler
Bunlar, özel gönderi türümüzün ( filmler ) davranışını ve diğer bazı özelliklerini tanımlayan bazı önceden tanımlanmış seçeneklerdir.
Her seçenek, özel gönderi türümüzün nasıl davranacağını tanımlayacak özel bir talimattır. En alakalı olanlar:
- 'destekler': Yazı düzenleyicide hangi bileşenlerin kullanılacağını tanımlar
- 'taksonomiler': Mevcut fonksiyonda kayıtlı tüm CPT'lere bir veya daha fazla mevcut kategori veya özel kategori uygulayabilirsiniz.
- ' 'hiyerarşik' : Gönderilerin üst içeriği olamaz ve bu, CPT'yi sayfalardan farklı kılar. Özel bir gönderi türü yerine özel bir sayfa yayınlamak istiyorsanız bunu true olarak ayarlayın.
- ' show_in_admin_bar': WordPress yönetici panosunda CPT sekmesini görüntüler
Tüm argümanların tam listesi ve açıklamaları için bu belgeye bakın.
3) Özel Posta Türü kaydı
WordPress işlevi register_post_type() sonunda yeni özel yazı türümüzü kaydedecek ve kullanıma hazır olacak şekilde ayarlayacaktır.
Artık kodu daha iyi anladığınıza göre, özel gönderi türlerinizi yayınlamaya başlayabilirsiniz. Ancak bunları yayınlamanın dışında, CPT'nizi bir yerde görüntülemek isteyeceksiniz. Bunu nasıl yapacağımıza bir bakalım.
WordPress'te özel gönderi türleri nasıl görüntülenir?
Şimdiye kadar, WordPress'te programlı olarak özel bir yazı tipinin nasıl oluşturulacağını gördük. Yayınladıktan sonra, nerede sergileyeceğinize karar vermelisiniz.
Ön uçta bir CPT yazdırmanın birkaç yolu vardır. Belirli özel gönderi türlerinin tam listesini başka bir gönderide, sayfada, kenar çubuğunda veya istediğiniz herhangi bir yerde görüntüleyebilirsiniz.
Aşağıdaki örnek komut dosyasında, önceki işlevi kullanarak oluşturduğumuz tüm özel gönderi türlerini yeni bir sayfada görüntülemek için özel bir kısa kod oluşturacağız.
Aşağıdaki komut dosyası, CPT'mize eklediğimiz tüm filmleri kısa kodu eklediğimiz herhangi bir sayfada yazdıracak olan Movies adlı bir kısa kod oluşturacaktır.
add_shortcode('filmler', 'QuadLayers_display_cpt_shortcode'); function QuadLayers_display_cpt_shortcode(){ $args = array( 'post_type' => 'filmler', 'posts_per_page' => 10 ); $the_query = new WP_Query( $args); if ( $the_query->have_posts() ): while ( $the_query->have_posts() ) : $the_query->the_post(); $c= the_title( sprintf( '<h2 class="entry-title">', esc_url( get_the_title() ) ), '</h2>'). '<div class="giriş içeriği">'. içerik(). '</div>'; son zaman; wp_reset_postdata(); Başka: $c = 'Üzgünüz, kriterlerinize uygun gönderi bulunamadı.'; endif; $c'yi döndür; }
Bu nedenle, kısa kodu bir sayfaya yerleştirirseniz:
Sonucu göreceksiniz:
Çözüm
Özetle, WordPress'in varsayılan olarak bazı gönderi türleri içerdiğini gördük, ancak sitenizi özelleştirmek için gereksinimlerinize bağlı olarak özel gönderi türleri ekleyebilirsiniz.
Bu kılavuzda, programlı olarak nasıl WordPress özel yazı tipi oluşturabileceğinizi gösterdik. Snippet'i analiz ettik ve her bölümü açıkladık, böylece onu özelleştirebilir ve sitenizde kullanabilirsiniz. Ek olarak, özel gönderi türlerinizi sitenizin herhangi bir yerinde görüntülemenize olanak tanıyan özel bir kısa kodun nasıl oluşturulacağını gördük.
Sitenizde özel gönderi türleri oluşturmayı denediniz mi? Yorumlar bölümünde deneyiminizi bize bildirin.
Sitenizin diğer alanlarını özelleştirmek için aşağıdaki eğiticilere göz atın:
- WooCommerce'e özel yükleme alanları nasıl eklenir
- Ödemeye özel alanlar nasıl eklenir
- WooCommerce ödeme alanlarını düzenleme kılavuzu