Özel posta türleri, esnek, profesyonel kalitede, WordPress siteleri oluşturmak istiyorsanız, kavramanız gereken önemli öğelerden biridir.

Hangi özel posta türleri, kendi tür verilerinizi eklemenize izin verir; Bu bir makale, bir şarkı, bir film veya binlerce başka şey olabilir. Özel posta türleri, verilerinizi bireysel ihtiyaçlarınıza göre kategorilere ayırmanıza olanak tanır. Bu da, sitenizin nasıl davrandığını daha iyi kontrol etmenizi sağlar.

Bu yazıda, bir film veritabanı için özel bir film yazı tipi oluştururken sizi yönlendireceğim.

Neden özel posta türlerini kullanıyorsunuz?

Bir film sitesi oluşturmak için bir veri tabanı oluşturmamız gerekiyor. Özel posta türleri olmadan bunu yapmak son derece zor olabilir ve mevcut WordPress kurulumumuzla potansiyel olarak çakışabilir. Ancak, özel posta türümüzün kendi yönetici menüsü ve özel düzenleme sayfası olacaktır. İstersek, sayfaya uygun isimleri ve özellikleriyle sayfaya özel taksonomiler bile ekleyebiliriz.

Özel posta türleri, WordPress'i bir blog platformundan tam gelişmiş bir CMS'ye götüren şeydir. Film sitemizi kötü bir bilgisayar korsanlığı olmadan kurma özgürlüğü veriyorlar.

Film yayını türümüzü oluşturma

Bu yazıda, özel bir yazı tipi oluşturmak için gerekli olan tüm kodları belirleyeceğim ve sonra her bir parçanın ne yaptığını öğrenebilmeniz ve bunları ihtiyaçlarınıza göre özelleştirebilmeniz için bu satırın satır satırını kullanacağız.

İşte functions.php dosyanıza eklenen tam kod:

add_action( 'init', 'register_movie' );function register_movie() {$labels = array('name' => 'Movies','singular_name' => 'Movie','add_new' => 'Add New','add_new_item' => 'Add New Movie','edit_item' => 'Edit Movie','new_item' => 'New Movie','view_item' => 'View Movie','search_items' => 'Search Movies','not_found' => 'No movies found','not_found_in_trash' => 'No movies found in Trash','menu_name' => 'Movies',);$args = array('labels' => $labels,'hierarchical' => false,'description' => 'Here you will add all the movies for the database','supports' => array( 'title', 'editor', 'thumbnail' ),'taxonomies' => array( 'genre', 'movies', 'year' ),'public' => true,'show_ui' => true,'show_in_menu' => true,'menu_position' => 5,//'menu_icon' => the image link here,'show_in_nav_menus' => true,'publicly_queryable' => true,'exclude_from_search' => false,'has_archive' => true,'query_var' => true,'can_export' => true,'rewrite' => true,'capability_type' => 'post');register_post_type( 'movie', $args );}

Gördüğünüz gibi, özel bir yazı tipi oluşturmaya biraz büyük bir kod parçası giriyor, ancak anlıyorsanız, bu kodu alabilecek ve projelerinize uyarlayabileceksiniz. İlk satırda, özel post tipimizle fonksiyonu init'e bağlarız ve bu, WordPress'in her zaman kontrol panelimizde olmasını sağlayacağımız zaman işlevimizin patlayacağı anlamına gelir:

add_action( 'init', 'register_movie' );

Etiketler

Bir sonraki satırda, fonksiyonumuzun adını ve film yazı tipimizle ilişkilendirilecek tüm etiketleri içeren bir değişken oluşturarak başlayacağız, böylece her şey özelleştirilebilir.

Etiketlerde bildirdiğimiz ilk şey, çoğul ve tekil biçimde özel posta türümüzün adıdır:

'name' => 'Movies','singular_name' => 'Movie',

Sonraki iki satırda Yeni Metin Ekle'yi (eğer değiştirmek istiyorsak) belirtmeliyiz ve sonra Yeni Film Ekle'yi ayarlıyoruz. Böylece yeni bir film eklerken, bir film eklemek ve bir 'Yeni Mesaj Ekle' başlıklı başlık.

'add_new' => 'Add New','add_new_item' => 'Add New Movie',

Yeni bir film oluşturmaya yönelik etiketlerden sonra, düzenleme için etiketleri, yeni öğe metnini (varsayılan olarak Yeni Gönderi / Yeni Sayfa) ayarlamamız gerekir ve ayrıca görüntüleme sonrası metnini ayarlamanız gerekir:

'edit_item' => 'Edit Movie','new_item' => 'New Movie','view_item' => 'View Movie',

Artık etiketlerde, wordpress yöneticisindeki arama yeteneklerine ve bunun için etiketlerimize geçiyoruz. Film ararken, sonuç bulunamadığı zaman ve çöpte sonuç bulunamadığında etiketleri ayarlamamız gerekir:

'search_items' => 'Search Movies','not_found' => 'No movies found','not_found_in_trash' => 'No movies found in Trash',

Son etiketin kendisi için konuşur, burada, özel posta türünün menü UI'de olmasını istediğimiz adı yerleştirmeliyiz, bu durumda sadece "Filmler" ile yapışıyoruz:

'menu_name' => 'Movies',);

Argümanlar

Şimdi argümanlarımıza geçmeliyiz, çünkü tüm argümanları tutacak başka bir değişken yarattım .

İstediği ilk argüman, etiketler ve yapmamız gereken tek şey, incelediğimiz etiket değişkenine işaret etmek.

$args = array('labels' => $labels,

Bir sonraki satırda, yazı tipimizin sayfalar gibi hiyerarşik olup olmayacağını (postalar gibi) ayarlamamız gerekir. Benim durumumda filmlerin hiyerarşik olmasını istemiyorum, bu yüzden onu yanlışlara ayarlıyorum. Sonraki satır sadece yazı tipinin isteğe bağlı bir açıklamasıdır.

'hierarchical' => false,'description' => 'Here you will add all the movies for the database',

Bir sonraki çizgi önemli bir tanesidir; Burada, özel posta türümüzün neleri destekleyeceğini, hangi alanların olacağını belirtmeliyiz. Bu alan için seçenekler:

  • 'Başlık'
  • 'editör'
  • 'yazar'
  • 'Küçük resim'
  • 'alıntı'
  • 'Geri izleme'
  • 'Özel Alanlar'
  • 'Yorum'
  • 'Revizyonları'
  • 'Sayfasını özellik şunlardır'
  • 'Post-formatları'

Benim durumumda ve posta türümde sadece başlığı, WYSIWYG editörünü, bir küçük resmi ve yorumları desteklemeyi ve bu satırdaki bir diziyi eklemem gerektiğini istiyorum:

'supports' => array( 'title', 'editor', 'thumbnail','comments' ),

Bir sonraki satırda, hangi taksonomiklerin kullanılacağını belirtmemiz gerekir ve özel taksonomiler oluşturacağımız için bu satırda eklenecek olanlardır:

'taxonomies' => array( 'genre', 'actors', 'year' ),

Sonraki üç satır, yönetim alanındaki yazı tipi görünürlüğü ile ilgilidir ve tek yaptığım tüm bunları doğru olarak ayarlamaktır:

'public' => true,'show_ui' => true,'show_in_menu' => true,

Ardından, yazı tipinin görünmesi gereken menünün konumuna gideriz. Burada ayrıca seçim yapabileceğiniz birçok seçenek var:

  • 5 - Aşağıdaki Yazılar
  • 10 - Medya Altında
  • 15 - Bağlantıların Altında
  • 20 - Sayfalar Altında
  • 25 - Aşağıdaki yorumlar
  • 60 - İlk ayırıcının altında
  • 65 - Eklentiler
  • 70 - Aşağıdaki Kullanıcılar
  • 75 - Aşağıda Araçlar
  • 80 - Aşağıdaki Ayarlar
  • 100 - İkinci ayırıcının altında

Benim durumumda, yayınların hemen ardından filmlerin görünmesini istedim, böylece menü konumunu 5 olarak ayarladım:

'menu_position' => 5,

Bir sonraki satırda, simgeye dikkat ediyoruz, kendi simgemizi ayarlayabilir veya boş bırakabiliriz ve bunun yerine yayınlar ikonunu alacağız, bundan sonra satır, bu yazı tipini istediğimiz her şeyle ilgilenir. .

'menu_icon' => //the image link here,'show_in_nav_menus' => true,

Sonraki 3 satırda yazı tipinin yeteneklerini ekliyoruz; Öncelikle bu yazı tipinin ön uçta sorgulanmasını isteyip istemediğimizi belirledik, sonra da yazı tipi sonuçlarının aramalardan çıkarılmasını isteyip istemediğimize karar veririz ve son olarak da film yayını türü için bir arşiv isteyip istemediğimize karar veririz:

'publicly_queryable' => true,'exclude_from_search' => false,'has_archive' => true,

Bir sonraki satırda, yazı tipimiz için sorgu değişkenini belirledik ve bu, URL'nin nasıl görüneceğini tanımlayacaktır, çünkü bu seçenek için üç olası parametreye sahibiz: bunu doğruya ayarlayabiliriz ve daha sonra /? Filmini kullanarak filme ulaşabiliriz. = name_of_movie; Onu bir dizeye ayarlayabiliriz, böylece URL'deki film “show” gibi istediğimiz herhangi bir şeyle değiştirilir ve aynı filme ulaşmak için /? show = ad_of_movie kullanmamız gerekirdi; son seçenek, onu false olarak ayarlamaktır ve bu şekilde, query_var'ı kullanarak bir filme ulaşmayı imkansızlaştırırsınız . Benim durumumda ve ikinci seçenek göz önünde bulundurulduğunda, sorgu varemi true olarak ayarladım, böylece filme ait sorgu_var ile ona ulaşabiliriz:

'query_var' => true,

Bir sonraki satırda, filmlerin ihraç edilip edilmeyeceğine karar veriyoruz ve sonra bu yazı tipi için sümüklüleri seçiyoruz, benim durumumda, sadece 'film' olan sümüklü böcek olarak takıldım, ancak sümüklü böcek ve aslında bol seçenek var, bu parametre geniş bir.

'can_export' => true,'rewrite' => true,

Tartışmalarımızın son satırı, gönderimimizin yetenek türünü belirlediğimiz yerdir ve normal gönderilerle aynı olana sahip olmasını istediğimden, yalnızca gönderinin değerini verdim, şöyle olsun:

   'capability_type' => 'post');

Bizim etiketler ve argümanlar yapılır, tek yapmamız gereken post tipimizi kaydettirmek ve register_post_type işlevi iki parametre alır, ilk olarak özel yazı tipimizin adıdır (bu maksimum 20 harf ve büyük harf içermez) ya da boşluklar) ve ikincisi posta türü için argümanlar ve buda sadece args değişkenimizi yerleştireceğiz:

    register_post_type( 'movie', $args );}

Yazı tipimiz oluşturuldu ve tamamen işlevseldir ve sayfalarınızda göstermeniz gereken her şey bir wp_query büyüsüdür.

Son sözler

Umarım neden bu kadar çok insan WordPress'te özel posta türlerini kullanır.

Bu makalede, size özel bir posta türü oluşturma sürecini anlamanız ve kendi muhteşem özel posta türlerinizi oluşturmak için bir başlangıç ​​noktası vermeniz amaçlanmıştır.

Öne çıkan görsel / küçük resim, ATOMIC Hot Links tarafından özelleştirilmiş görüntü Flickr üzerinden.