WordPress’te Özel Gönderi Türleri Nelerdir ve Nasıl Yapılır?

WordPress uzun zamandır basit bir blog platformundan daha fazlası haline geldi. Yıllar geçtikçe, büyük esneklik ve ölçeklenebilirlik sağlayan çok çeşitli seçeneklerle gerçek bir İçerik Yönetim Sistemi haline geldi. Özel gönderi türleri bu olasılıklar arasındadır ve bugün bunların ne olduğunu, ne için kullanılabileceğini ve nasıl kullanılacağını açıklayacağız.

WordPress Özel Gönderi Türleri Nelerdir?

WordPress gönderilerini düşünürken çoğu kişinin aklına blog gönderileri veya makaleler, resim galerileri, video ve ses gönderileri gelir. Tüm bunlar artı alıntı ve bağlantı gönderileri, aslında varsayılan olarak WordPress ile gelen tek bir gönderi türünün biçimleridir – “gerçek” normal gönderiler.

WordPress’te beş varsayılan gönderi türü vardır:

  • Gönderiler

  • Sayfalar

  • Ekler

  • revizyonlar

  • Gezinme menüleri

Resmi WordPress destek sitesi, bu varsayılan türlerin her biri için ayrıntılı bir açıklamaya sahiptir, fakat şu anda özel gönderi türlerine, yani bu kategorilerin hiçbirine girmeyen ve kendi başınıza oluşturmanız gereken gönderi türlerine odaklanmak istiyoruz. onlara ihtiyacın var.

Bloglama söz konusu olduğunda, varsayılan WordPress içerik türleri genellikle yeterlidir. Fakat WordPress her türlü web sitesine güç vermeye başladığından beri, yeni yazı türlerine ihtiyaç duyulmuştur.

Örneğin bir portföy web sitesi çalıştırıyorsanız, bir Portföy özel gönderi türüne ihtiyacınız olabilir. İşletmeler ve şirketler Görüşlere ihtiyaç duyar, online mağazalar Ürünlere ihtiyaç duyar, emlak web siteleri Emlak gönderi türlerine ihtiyaç duyar vb.

Şimdi temanıza bağlı olarak, bu özel gönderiler kutudan çıkmış olabilir. Örneğin listeleme WordPress temanız büyük olasılıkla Listeleme öğelerini içerecektir ve bunlar aslında tema geliştiricisi tarafından oluşturulan özel gönderi türleridir.

Bayram Örneği

Bayram Örneği

Bayram Örneği

WordPress’te Özel Gönderi Türleri Ne Zaman Kullanılır?

Teorik olarak, içeriğinizi yayınlamak ve etiketleri ve kategorileri kullanarak düzenlemek için her zaman varsayılan bir WordPress gönderi türünü – “normal” bir gönderi veya bir sayfa – kullanabilirsiniz. Fakat bu, özellikle yukarıda belirtilen nişle ilgili özel içerik türleri (portföy öğeleri, özellikler vb.) için her zaman uygun değildir veya en azından her zaman harika bir fikir değildir.

Örneğin varsayılan gönderi türlerini kullanarak bir şey yayınlamak istediğinizde, fakat bunların içeriğinize tam olarak uymadığı durumlar vardır. Örneğin kuponlarda durum böyledir. Veya varsayılan WordPress taksonomilerini kullanarak söz konusu gönderiyi sınıflandırmayı ve organize etmeyi zor bulabilirsiniz (bu yüzden özel taksonomiler de vardır, fakat buna birazdan değineceğiz). Ayrıca blog listenizde kronolojik olarak görüntülenemeyen ve gösterilmemesi gereken gönderi türleri de vardır.

Bir online eğlence dergisini ele alalım. Derginin içerik çıktısının büyük bir kısmı haberlerden oluşmaktadır. Bunlar için dergi büyük olasılıkla normal WordPress gönderilerini kullanacaktır. Fakat derginin yeni albümleri, filmleri, restoranları vb. İnceledikleri bir bölümü de var. Bunlar teorik olarak “düz” gönderiler olarak yayınlanabilir, fakat bunlara ekstra özellikler eklemek için (yıldız derecelendirme sistemi, yazara göre arama vb.), derginin büyük olasılıkla incelemeler için özel bir gönderi türü oluşturması gerekecektir.

Basit bir ifadeyle, tüm gönderi türleri varsayılan kategorilerden birine girmez. İşte tam da bu noktada özel gönderi türlerine ihtiyaç duyarsınız.

WordPress’te özel bir yazı tipi nasıl yapılır

Özel gönderi türleri oluşturma süreci farklı şeyler içerir, bu yüzden her biri kendi ayrıntılı açıklaması olan dört farklı bölüme ayırdık. Bu bölümler, siteniz için düzgün çalışan bir özel gönderi türü oluşturmak için atmanız gereken çeşitli adımları açıklar. Bu konu oldukça ileri düzeyde olduğu için yani kodlama içerdiği için, takılıp kalırsanız verdiğimiz açıklamaların yanı sıra ek araştırma yapmanız gerekebilir.

Dalışa geçmeden önce, sunucudaki WordPress dosyalarını düzenlemeyi veya yenilerini yüklemeyi içerdiğinden, FTP bilginizi tazelemenizi öneririz. Web sitemize yeni kod ekleyeceğimiz için web sitenizin yedeğini almak da iyi bir önlemdir.

Özel gönderi türünü kaydetme

Özel gönderi türünüzü oluşturmanın ilk adımı, onu kaydetmektir. Farklı deneyim düzeylerine sahip kullanıcıların kendilerine uygun olanı seçebilmeleri için kayıt işlemini gerçekleştirmenin iki yolunu ele alacağız. İlki bir eklenti kullanmayı içerir. Bununla birlikte sezgisel bir eklenti kullanıcı arabirimi aracılığıyla özel gönderi türünün sahip olacağı tüm özellikleri seçebilirsiniz. İkincisi, kod kullanmayı içerir. Daha karmaşık ama aynı zamanda size yeni gönderi şablonunu özelleştirmek için daha fazla özgürlük veriyor.

  • WordPress eklentisi kullanma

Bir web sitesine yeni bir özellik eklemek için bir WordPress eklentisi kullanmak başlangıç ​​için çok uygundur. Bu durum onu birçok WordPress kullanıcısının tercih ettiği seçim haline getirir. Bu makale için, Özel Gönderi Tipleri UI (CPT UI) eklentisini kullanarak özel bir gönderi şablonunu nasıl kaydedeceğinizi göstereceğiz. Bu eklenti, kendi özel gönderi türlerinizi oluşturmak için açık ara en popüler eklentidir. Ücretsizdir ve kodlama veya gelişmiş WordPress özelleştirmesi hakkında fazla bilgisi olmayanlar tarafından bile kullanılabilir.

Eklenti, özel gönderi türlerini kaydetmek ve yönetmek için WordPress arayüzünü kullanmanıza olanak tanır ve ayrıca özel taksonomiler oluşturmanıza yardımcı olur. Bu kısım özellikle önemlidir, çünkü web siteniz gönderileriniz için yalnızca kategoriler ve etiketler için değil, ek sınıflandırmalara da ihtiyaç duyabilir. Örneğin bir kitap web sitesi işletiyorsanız, içeriği yazara, türe, konuma vb. göre sıralamak için özel sınıflandırmalar ekleyebilirsiniz.

Bir gönderi türü eklemek için şu basit adımları uygulamanız yeterlidir:

Eklentiyi indirip yükledikten sonra, WordPress Admin Dashboard’unuzda CPT UI adlı yeni bir seçenek göreceksiniz. Oradan, Gönderi Türlerini Ekle/Düzenle’ye tıklamanız yeterlidir.

Gönderi Türlerini Düzenle

Yeni Gönderi Türü Ekle sekmesinin altında, gönderi türünüze bir bilgi atayın ve bunun için çoğul ve tekil etiketler ekleyin.

CPT Kullanıcı Arayüzü Temel Ayarları

Örneğin gönderi türünüz film endüstrisi ile ilgili olacaksa, bilgi “film”, çoğul etiket “Filmler” ve tekil etiket “Film” olmalıdır. Bunun bizim açımızdan nasıl göründüğünü yukarıdaki ekran görüntüsünden görebilirsiniz. Ayrıca etiketlerinizi seçerken büyük harfle yazdığınızdan emin olun.

Bu noktada Gönderi Türü Ekle düğmesine tıklayarak özel gönderi türünü kaydedebilirsiniz. Yepyeni gönderi türünüz artık Pano menünüzde ayrı bir seçenek olarak görünecek.

Pano Filmleri

Kaydetmeden önce özel gönderi türünüz için ek ayarlar yapmayı da seçebilirsiniz.

Temel ayarların altında, Ek etiketleri girmek için bir dizi alan göreceksiniz.

Ek Etiketler

Post yönetimi ve yayınlama için varsayılan WordPress alanlarının adlarını değiştirmek için bunları doldurabilirsiniz – temel olarak özel alanlar oluşturun – veya varsayılan olarak bırakabilirsiniz.

Aşağıdaki bölüm daha fazla özel gönderi türü ayarı içerir.

Ayarlar

Burada özel yazı tipinizin görünürlüğü ve aranabilirliğinden menü konumuna, desteklenen yazı tipi seçeneklerine ve taksonomilere kadar her şeyi ayarlayabilirsiniz. İstediğiniz her şeyi ayarladıktan sonra, henüz yapmadıysanız alttaki Gönderi Türü Ekle düğmesine basarak yeni özel gönderi türünüzü kaydettiğinizden emin olun.

Özel gönderi türlerinizi daha sonra istediğiniz zaman, Gönderi Türlerini Düzenle sekmesine tıklayarak ve düzenlemek veya silmek istediğiniz gönderi türünü seçerek düzenleyebilirsiniz.

Gönderi Türlerini Düzenle

Gönderi Türlerini Düzenle sekmesinin yanında iki tane daha göreceksiniz: Gönderi Türlerini Görüntüle ve Gönderi Türlerini İçe/Dışa Aktar.

Gönderi Türlerini Görüntüle sekmesi, kaydettiğiniz tüm özel gönderi türlerinin ayrıntılarını görmenizi sağlar.

Gönderi Türlerini Görüntüle

Gönderi Türlerini Görüntüle sekmesindeki en önemli bilgiler, sonunda, Şablon Hiyerarşisi altında bulunur. Belirli sayfaların ve gönderilerin içeriğini görüntülemekten hangi şablon dosyasının sorumlu olduğunu belirlemek için WordPress’in kullandığı hiyerarşik yaklaşımı gösterir.

CPT UI eklentisi, özel gönderi tipi tek gönderi için hiyerarşiyi, arşivini ve bu sınıflandırma kaydedildikten sonra özel bir taksonomiye ait bir sayfayı görüntüler. Bu yüzden oluşturacağınız dosyalar için kullanabileceğiniz olası adları görüntüler. Bu durum makalenin ilerleyen bölümlerinde döneceğimiz bir konudur.

Son olarak kayıtlı özel gönderi türlerinizi taşımak (içe veya dışa aktarmak) için Gönderi Türlerini İçe/Dışa Aktar sekmesini (veya menüdeki CPT UI > Araçlar seçeneğini) kullanabilirsiniz.

Özel Gönderi Türü

  • Özel kod kullanma

Özel tek gönderi türlerinizi kaydetmek için kod kullanmak, bir eklentiyle çalışmaktan daha teknik bir yaklaşım oluşturur. Bu yüzden orta ve ileri düzey WordPress kullanıcıları ve daha fazlasını öğrenmek isteyenler için ilgi çekici olabilir. Sürecin nasıl çalıştığını açıklamaya yardımcı olması için bu makale için bir örnek oluşturduk.

Kayıt sürecinde iki önemli nokta vardır. Bunlardan biri, uygun parametrelerle register_post_type() işlevinin kullanılmasıdır. Diğeri, bu kodu bağlayabileceğiniz uygun bir kancanın kullanılmasıdır. register_post_type() işlev sayfasının Açıklama bölümünde, yazı tipi kaydının init’ten önce bir kancaya bağlanmaması gerektiğini görebilirsiniz. Bu yüzden init eylem kancasını en erken uygun olan olarak kullanacağız. Bu durum olası bir sözde kod örneğinin şöyle görüneceği anlamına gelir:

function your-function-name () {
// Insert the register_post_type() function call here.
}
add_action( 'init' , 'your-function-name' );

Bununla birlikte bu makale için, özel gönderi türlerini kaydetmek için marjinal olarak daha karmaşık bir yaklaşım kullanmaya karar verdik. Özel gönderi türümüzü nesne yönelimli programlama kullanarak, yani özel tanımlı bir sınıf nesnesi içinde kaydedeceğiz. Tabii ki, aynı iki kilit nokta hala geçerlidir – register_post_type() işlevi ve kancaların kullanımı. Her ikisi de o sınıfa ait metotlar yani fonksiyonlar kullanılarak o sınıf içinde uygulanacaktır.

Uygulanması biraz daha zor olsa da, bu yaklaşımın yararı, temel şeyler sınıf yöntemleri kullanılarak bölümlere ayrıldığından kodun okunmasının daha kolay olmasıdır. Ayrıca daha sonra taksonomiler, kısa kodlar veya aletler gibi yeni işlevsellik katmanları ekleyerek iyi yapılandırılmış bir kodu ölçeklendirmek daha kolaydır. Size göstereceğimiz örnekte taksonomileri ekledik.

Uygun sınıf yapısını oluşturduktan sonra, bir araya getirdiğiniz kod, diğer özel gönderi türleri oluşturmak için minimum düzenlemeyle bir plan olarak yeniden kullanılabilir. Bu yazı için hazırlanan kodlama örneğine geçmeden önce bu kodu nereye koyabileceğinizden bahsetmemiz gerekiyor. Yani, bunun gibi bir kod, alt temanızın functions.php dosyasına veya siteye özel bir eklentiye eklenmelidir.

class Movie {
private static $instance;
public function __construct() {
$this->movieBase="movie";
add_action( 'init', array( $this, 'registerMoviePostType' ) );
}
public static function get_instance() {
if ( ! isset( self::$instance ) && ! ( self::$instance instanceof self ) ) {
self::$instance = new self();
}
return self::$instance;
}
public function registerMoviePostType() {
register_post_type( $this->movieBase,
array(
'labels' => array(
'name' => esc_html__( 'Movies', 'your-translate-domain' ),
'singular_name' => esc_html__( 'Movie', 'your-translate-domain' ),
'add_item' => esc_html__( 'New Movie', 'your-translate-domain' ),
'add_new_item' => esc_html__( 'Add New Movie', 'your-translate-domain' ),
'edit_item' => esc_html__( 'Edit Movie', 'your-translate-domain' )
),
'public' => true,
'has_archive' => true,
'rewrite' => array( 'slug' => $this->movieBase ),
'menu_position' => 5,
'show_ui' => true,
'show_in_rest' => true,
'supports' => array(
'author',
'title',
'editor',
'thumbnail',
'excerpt',
'page-attributes',
'comments',
'custom-fields'
)
)
);
}
}
Movie::get_instance();

Bu kodu parçalayalım.

Basitçe söylemek gerekirse, kod, $instance adlı bir özelliği ve üç yöntemi olan Movie adlı özel bir sınıfı temsil eder: __construct(), get_instance() ve registerMoviePostType().

get_instance() yöntemi, kodun sonunda bu yöntemi çağırarak yapılan Movie sınıfının bir örneğini başlatmak için kullanılır. Bu yüzden kodun ana kısmı diğer iki sınıf yönteminde, yani işlevlerde bulunur.

__construct() yöntemi, yapıcı yöntemidir…

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Birlikte Büyüyen Bir İş Kurma Fırsatı!

İş birliği yaparak, işinizi yalnızca bir adım öteye taşıyoruz. Daha detaylı bilgi isterseniz mail adresinizi bize iletebilirsiniz.