WordPress Özel Gönderi Türleri İçin Nihai Kılavuz

Yayınlanan: 2024-03-26

On yıldan fazla bir süre önce, hayatımı ve kariyerimi değiştirecek bir karar vererek yalnızca yayınlama platformum olarak WordPress'i ve eklentilerini oluşturduğum CMS'yi kullanmaya odaklandım. Bunun başlıca nedenleri, parçalar ve öğreticiler içeren sayısız gönderi dahil olmak üzere mükemmel belgeler ve WordPress'i genişletme kolaylığıydı. O zamanki kullanım durumlarım için WordPress'i genişletmenin en belirgin özelliği Özel Yazı Türleriydi.

Esas olarak 2010 yılında WordPress sürüm 3 ile geliştirilen Özel Gönderi Türleri (CPT'ler) birçok şekilde kullanılmaktadır. Eminim ki bilmeden onlarla tanışmışsınızdır. Size CPT'lere genel bir bakış, bunları zaman içinde nasıl kullandığıma dair spesifik örnekler, bunları kendiniz nasıl kuracağınız ve ilgili eklentilerle nasıl daha fazlasını başarabileceğinizi anlatayım.

Özel Gönderi Türleri Nelerdir?

WordPress çekirdeği çeşitli Yazı Türleriyle birlikte gelir. Bunlardan en belirgin olanları Gönderiler, Sayfalar ve Eklerdir.

WordPress 6.4'te dört tane daha var:

  • Revizyonlar
  • Gezinme menüleri
  • Şablonları engelle
  • Şablon parçaları

Eğlenceli gerçek: Yorumlar bir Gönderi Türü değildir. Bence WordPress başlangıçta yorumların bu kadar merkezi bir parçası olduğu bir blog platformu olmasaydı, bugünlerde bunları bir yazı türü olarak da ele alırdık.

Bunlardan da anlaşılacağı gibi, Gönderi Türleri her zaman açık değildir ve ön uçta "içerik" olarak tanımladığımız görünür bir şey olmayabilir. Bunlar daha çok veritabanındaki ilgili öğelerden oluşan bir gruptur.

Daha sonra "Özel" Yazı Türleri olarak adlandırılacak olan bu "şeylerden" daha fazlasını ekleyebilirsiniz.

Bu resmi bir WordPress terimi değil, ancak görünür herhangi bir Özel Gönderi Türü için Özel "İçerik" Türleri ifadesini seviyorum. Birkaç örneğe daha sonra gireceğim.

Neden Özel Gönderi Türü Kullanmalı?

WP Mayor zaman içinde, şu anda görebileceğiniz Ömür Boyu Fırsatlar gibi birden fazla Özel Gönderi Türü kullanmıştır.

Kişisel olarak Özel Gönderi Türlerini birçok şey için kullandım.

En yaygın olanı web sitelerindeki ayrı içerik bölümleridir. Bu, içeriğin yerleşik gönderilerden ve sayfalardan farklı şekilde gösterilmesi ve farklı davranması gerektiğinde en mantıklı olanıdır.

WP Mayor'un ayrıca özel bir "Haberler" gönderi türüne sahip olacağını hayal edelim. Sadece bu özel gönderi türünü kaydederek aşağıdaki avantajlara sahip olabilirsiniz:

  • WP Admin'deki menüde ayrı bir "Haberler" öğesi.
  • Kullanıcılara ve kullanıcı rollerine bu türe farklı yetenekler verme şansı.
  • Ön uçta tek haber öğelerini göstermek için farklı şablonlara sahip olun.
  • Haberler için ayrı bir arşiv ve besleme.
  • Ek gönderi meta verileri yalnızca haberlerle birlikte saklanır ve haberler için görüntülenir.

Ayrıca çeşitli eklentilerdeki içerik öğeleri için Özel Gönderi Türlerini de kullandım. Bir zamanlar tatil evleri için, evlerin, rezervasyonların ve ödemelerin her birinin benzersiz özelliklere sahip ayrı bir Özel Posta Türü olduğu bir rezervasyon platformu oluşturmuştum. Bu, WordPress için çoğu e-ticaret eklentisinin de yaptığı bir şeydir.

Başka bir durumda, giden tüm e-postaların içeriğini günlüğe kaydetmek istedim. Bu nedenle, e-posta içeriğini ve yalnızca WordPress arka ucundaki uygun yeteneklerle görülebilen tüm ekli meta verileri içeren bir "Günlük" gönderi türü oluşturdum.

Son olarak, orijinal olarak geliştirdiğim Gelişmiş Reklamlar eklentisi, reklam içeriğini depolamak için bir CPT kullandı.

Bunlar Özel Gönderi Türlerinin yalnızca birkaç örneğidir. Yıllar boyunca karşılaştığım diğer birçok heyecan verici kullanım örneğinden bahsetmeyi unuttuğumu biliyorum.

WordPress'teki CPT'lerin temel avantajı, yalnızca birkaç satır koda veya bir eklenti aracılığıyla hızlı kuruluma ihtiyaç duymalarıdır ve WordPress, bunları yönetmek ve sitenizde görüntülemek için ihtiyaç duyduğunuz mantığın çoğunu üstlenir. Öyleyse, WordPress Özel Yazı Türlerinin nasıl oluşturulacağına hemen geçelim.

Özel Gönderi Türü Oluşturma

Özel Gönderi Türleri manuel olarak veya bir eklenti aracılığıyla oluşturulabilir.

Kodlama konusunda deneyiminiz yoksa eklentiler, özel gönderi türleri oluşturmanızı çok daha kolaylaştırır.

Eklenti kullanmanın bir dezavantajı, eklentiyi siler silmez Özel Gönderi Türünüzün kaybolmasıdır. Muhtemelen veritabanında hala mevcut olsa da, WordPress artık ön uçta veya arka uçta bunu bilmiyor.

Bunu onlarca kez yapmış bir geliştirici olarak hala manuel yöntemi tercih ediyorum. Ancak, WordPress Özel Yazı Türü geçici olarak kullanılıyorsa veya bir müşteri için vitrin oluşturmak için güzel kullanıcı arayüzlerine sahip eklentileri de kullandığımı memnuniyetle kabul ediyorum.

Özel Gönderi Türlerine İlişkin Kararlar

Özel Gönderi Türümüzü oluşturmak için kullandığımız yönteme rağmen, öncelikle birkaç karar vermemiz gerekiyor. Teorik olarak bunlardan herhangi birini daha sonra değiştirebilirsiniz ancak bunu yapmak sitenizi ve kurulumunuzu büyük ölçüde etkileyebilir; bu nedenle bunları önceden düşünmek en iyisidir.

Kamuya açık mı, değil mi?

Özel Gönderi Türleriyle ilgili ana karar, bunları kimin görmesi ve onlarla etkileşimde bulunması gerektiğidir. Özel kodunuzla veya bir eklenti içinde, arşivler ve doğrudan erişilebilen tek sayfalar dahil olmak üzere CPT'nin ön uçta görünüp görünmeyeceğini ve kullanıcıların onu arama yoluyla bulup bulmayacağını seçebilirsiniz. Menü öğesiyle birlikte WordPress sitenizin arka ucunda mı görünmeli?

Bir "Haber" CPT'si muhtemelen ön uçta tamamen görünür olsa da, dahili bir günlük veya ödemeler gibi bir şey, WordPress arka ucunuzda belirli bir role sahip kullanıcılarla sınırlı olabilir.

Hiyerarşik

WordPress Yazıları ve Sayfaları yazı türlerinin biraz farklı davrandığını fark etmiş olabilirsiniz. Sayfaların ön uçta bir arşivi yoktur ancak üst ve alt sayfalarınız olabilir.

İkincisine "hiyerarşi" denir ve bu, kendi yazı türünüzü oluştururken de tanımlanır.

Hiyerarşik gönderi türleri için düzenleme sayfası, bir ana sayfa ve sipariş seçme seçeneği sunar.

WordPress düzenleyicisindeki sayfa hiyerarşisi seçeneklerini gösteren sayfa nitelikleri bölümü.
Bir sayfayı düzenlerken hiyerarşi seçenekleri.

Sayfalardan otomatik olarak menüler veya listeler oluştururken sıra ve ana sayfa önemli olabilir. Hiyerarşi URL bilgisinde de görülebilir. Sayfam, ana sayfa olarak "Belgeler" ve "Sorun Giderme" ise, nihai URL documentation/troubleshooting olabilir.

İpucu: Daha derin bir hiyerarşiye sahip bir CPT'niz varsa, gönderileri hızlı bir şekilde doğru sıraya göre düzenlemek için İç İçe Sayfalar eklentisini kullanmanızı öneririm.

Blok veya klasik düzenleyici

Özel Gönderi Türü oluştururken size “REST API”de gösterilip gösterilmeyeceği sorulur. Bu teknik terim çok önemli bir şey yapar: CPT'nizin blok düzenleyiciyi mi yoksa klasik düzenleyici görünümünü mü kullandığını belirler.

Genel bir kural olarak, gönderi türünüz normal içeriğe benziyorsa ve WordPress bloklarını kullanmak istiyorsanız blok düzenleyiciyi kullanmak mantıklıdır. İçerik için ekranın büyük bir kısmına ihtiyaç duymayan herhangi bir Özel Gönderi Türü, klasik düzenleyiciyi seçmelidir. Bu nedenle REST API aracılığıyla teslim edilmemelidir.

URL bilgileri ve yapısı

Yapmanız gereken bir diğer kritik karar da CPT sümüklüböceklerine isim vermektir. "Haberler" gönderi türümüze URL'de news olarak başvurulabilir, ancak daha gösterişli dahili adlarınız varsa ön uç URL'ler için kısa bir form seçmek isteyebilirsiniz.

Bu, SEO'nuz için önemli bir karar olabilir, bu nedenle bunun hakkında düşünmek için birkaç dakikanızı ayırın.

Desteklenen öğeler

Oluşturduğunuz gönderi türüne bağlı olarak aşağıdaki öğeler için desteğin etkinleştirilip etkinleştirilmeyeceğine önceden karar vermek isteyebilirsiniz:

  • Başlıklar (varsayılan olarak etkindir)
  • Düzenleyici görünüyor (varsayılan olarak etkindir)
  • Yorumlar
  • Revizyonlar
  • Yazarlar
  • Alıntılar
  • Küçük resimler

İnce ayar yapmak için daha birçok seçenek var. Bununla birlikte, WordPress Özel Yazı Türümüzü kullanmadan önce dikkate alınması gereken en önemli hususlar yukarıdakilerdir.

Bir eklentiyle Özel Gönderi Türü oluşturun

Bunu aklımızda tutarak, bir eklenti kullanarak Özel Gönderi Türleri oluşturmaya bakalım ve ardından aynısını manuel olarak yapalım.

Wordpress.org'un en popüler ücretsizlerinden birini seçeceğim: WebDevStudios'un Özel Gönderi Türü Kullanıcı Arayüzü (CPTUI).

Arayüzleri oldukça basittir ve bir Özel Yazı Türleri eklentisinden bekleyebileceğiniz tüm seçeneklere sahiptir. Bununla birlikte, özel yazı türlerinin hala anlaşılması gereken soyut bir kavram olduğunu ve sıradan bir WordPress yayıncısının seçenekler hakkında daha derin bilgi sahibi olmadan düzeltmesi gereken bir özellik olmadığını da açıkça ortaya koyuyor.

Özel Yazı Türü UI eklentisini kullanarak yeni bir WordPress Özel Yazı Türü oluştururken seçeneklerin bulunduğu ilk ekran.
Özel Gönderi Türü Kullanıcı Arayüzü eklentisiyle yeni bir CPT oluşturma.

İpucu: Kişisel olarak CPT'lerim için "genel" seçenekler konusunda tutucuyum ve onları ön uçta kimin görmesi gerektiği ve arka uçta kimin değiştirebilmesi gerektiği konusunda bunları mümkün olduğunca sınırlandırıyorum. Gerekirse daha sonra istediğiniz zaman daha fazla erişim verebilirsiniz.

Özel Gönderi Türü Kullanıcı Arayüzünün Avantajları

Bu eklentiyle ilgili hoşuma giden, başkalarının sahip olabileceği veya olmayabileceği birkaç şey var.

CPT'lerimi genellikle manuel olarak oluşturduğum için etiketleri yazmanın çok zaman aldığını biliyorum. Hepsini CPT'nizin adından bahsedecek şekilde ayarlamak istiyorsanız yaklaşık üç düzine var. Yukarıdaki ekran görüntüsünde görebileceğiniz gibi, Özel Gönderi Türü UI eklentisinin bu etiketleri sizin için otomatik olarak doldurma seçeneği vardır. Bunları daha sonra arayüzden ayarlayabilirsiniz.

Daha sonra Özel Gönderi Türümü kaydedebilir ve daha sonra düzenleyebilirim . Sümüklü böcek bile değiştirebilirim ve eklenti daha sonra bu türdeki tüm gönderileri taşıyacaktır. Buna ihtiyaç duyacağım bir durumu önlemeye çalışsam da bunun mümkün olduğunu ve eklenti tarafından çözüldüğünü bilmek güzel.

Özel Gönderi Türü Kullanıcı Arayüzü, gönderi türlerime genel bir bakış sağlar. Biraz bunaltıcı gelse de, gözden geçirilmesi özel koddan çok daha kolaydır. Ayrıca son sütundaki şablonların listesini görmek de hoşuma gidiyor.

Özel Gönderi Türü UI eklentisi tarafından oluşturulan WordPress Özel Gönderi Türlerine genel bakış.
Özel Gönderi Türü listelendi.

Bu şablonlar WordPress Özel Yazı Türlerinin büyüsünün bir parçasıdır. Haber CPT'miz sümüklü news kullansaydı, WordPress, o yazı tipinin arşiv sayfasını veya tek bir haber sayfası için single-news.php oluşturmak için temanızda archive-news.php adlı bir dosyayı otomatik olarak arardı. Daha fazla bilgi için Şablon Hiyerarşisi'ne bakın.

CPTUI ile kod oluşturma

Sonunda Özel Gönderi Türü Kullanıcı Arayüzünü tavsiye etmemi sağlayan özellik , CPT'yi PHP koduna aktarma aracıydı. CPT UI > Araçlar > Kodu Al altında, eklentinizde veya functions.php dosyasında kullanacağınız PHP kodunu bulacaksınız. İnsanları kilitlemedikleri için eklenti geliştiricilerine teşekkür ederiz.

Bu, CPTUI'yi geliştiriciler için ideal bir araç haline getiriyor çünkü arayüz aracılığıyla hızlı bir şekilde Özel Gönderi Türü ayarlayıp bunu kullanmak için PHP kodunu alabiliyoruz. Hatta müşterimizin bunu bir test sitesinde (tüm etiketler vb. ile birlikte) kurmasına ve ardından onu ihtiyacımız olan yere taşımasına izin verebiliriz.

Eklentide bulamadığım tek seçenek, özel yazı tipini tüm varlıklarıyla birlikte kaldırmak. Genel olarak, bir eklentiyi veya kodu silerseniz özel gönderiler veritabanında kalır. Ancak bunu temizlemek için özel eklentiler var.

Kodu kullanma

Bir geliştiriciyseniz ve kod kullanarak Özel Gönderi Türü uygulamak istiyorsanız, sizi WordPress belgelerindeki ilgili bölümlere yönlendirmeme izin verin.

Yeni bir Özel Gönderi Türü kaydetmeye yönelik temel işlev, Register_post_type işlevidir. Parametreleri yukarıda bahsettiğim tüm seçenekleri ayarlamanıza olanak tanır.

Tüm Gönderi Türleri veritabanınızdaki wp_posts tablosunda saklanır. post_type alanı, bir yazı tipinin hangi girişe ait olduğunu belirler.

Özel Gönderi Türünüz içerikten daha fazlasını içeriyorsa gönderi meta verilerini kullanabilirsiniz. Bu veriler wp_postmeta saklanır.

Bu arada, bazı eklentiler içerik türlerini yönetmek için özel tablolar kullanır. Özel Yazı Türleri API'sı ile birlikte gelen tüm yerleşik WordPress özelliklerini ve işlevlerini kullanamayacağınız için gerçekten mecbur kalmadıkça bu yola gitmeyin.

Özel Gönderi Türlerini Genişlet

Özel Gönderi Türünüz herkese açıksa onu daha da özelleştirmek isteyebilirsiniz. İşte birkaç seçenek.

Özel Alanlar ve Meta Kutular

Etkinlikler veya mağaza ürünleri gibi daha gelişmiş CPT'ler içerikten daha fazlasına ihtiyaç duyar. Özel alanların devreye girdiği yer burasıdır. Verilerinizi çeşitli şekillerde yapılandırmak için giriş alanları sunarlar. Örneğin, bir "Etkinlik" gönderi türü, etkinliklerin görüntülenip filtrelenebilmesi için bir başlangıç ​​ve bitiş tarihine veya bir mekana ihtiyaç duyabilir.

Özel kodla özel alanlar ve meta kutular ekleyebilseniz de, çok iyi bilinen Gelişmiş Özel Alanlar bunun için mükemmel bir eklentidir. O kadar çok seçeneğe sahip ve o kadar iyi korunuyor ki, bir geliştirici olarak ben bile kendi sitelerimde özel alanları kodlamam.

Özel Taksonomiler

Varsayılan "Gönderiler" gönderi türü "Kategoriler" ve "Etiketler" ile sipariş edilebildiğinden, Özel Gönderi Türünüz için sınıflandırmaları da kaydedebilirsiniz.

Yukarıda önerdiğim Özel Gönderi Türü UI eklentisi, bunları oluşturmanıza da yardımcı olur.

Yetenek Yönetimi

Sitenizde yalnızca yeni Özel Gönderi Türünüzü oluşturup değiştirebilen veya mevcut ilgili kullanıcı rollerini ayarlayabilen yazarlar için yeni bir rol oluşturmak amacıyla Üyeler gibi eklentileri kullanabilirsiniz. Editoryal iş akışınız her gönderi türü için farklıysa bu önerilir.

Gönderi Türlerini Değiştirme

Şu anda WordPress ile oluşturulmuş dahili bir bilgi tabanındaki içeriği yeniden düzenliyorum. Burada gönderilerin ve sayfaların çok farklı hedefleri var. Bazıları hedef değiştirdi, bu yüzden gönderi türünü değiştirecek bir çözüme ihtiyacım vardı.

Herkese açık bir gönderi türüyle bunu hafifçe yapmanızı tavsiye etmesem de, benzer gönderi türlerine sahip, herkese açık olmayan bir sitede bunu yapmanın hiçbir sorunu yoktur. Bunu başarmak için, bunu zahmetsizce yapmanızı sağlayan mükemmel bir eklenti olan Post Type Switcher'ı yükledim. Eklentiyi yükledikten sonra eklenti, “Gönderiyi Düzenle” ekranına bir “Gönderi Türü” bölümü ekleyecektir. Gönderi türlerini gerektiği gibi değiştirmek için bu arayüzü kullanabilirsiniz.

Çözüm

Özel Yazı Türlerini hala WordPress'in son on yılda ve sonrasında gelişmesine olanak tanıyan kritik bir özellik olarak görüyorum. Favori CMS'mizi basit bir blog platformundan etkinlikleri yönetmek veya çevrimiçi alışveriş için çok yönlü bir araca dönüştüren temel budur.

Birçok web sitesinde kullanılan eklentileri oluştururken hala yeni yazı türleri oluşturmak için kodlarla karşılaşıyorum. Ancak kendim ve müşterilerim için site oluştururken eklentileri kullanıyorum. Özel Gönderi Türlerini oluşturmayı ve değiştirmeyi çok daha basit hale getiriyorlar ve benim oluşturabileceğimden çok daha iyi bir kullanıcı arayüzüne sahipler.