Özel gönderi türünde ebeveyn-çocuk ilişkisi
Yayınlanan: 2020-08-18Düzenli bir WordPress web sitesine sahip olmayı kim istemez? Özel gönderi türlerinin önemli olmasının nedeni tam olarak budur. CTP, verileri ve kolay erişimi ayırmamıza ve gerektiğinde güncellememize olanak tanır. Ancak, bu içeriği organize etmemizi ve ona hiyerarşi vermemizi sağlayan şey , özel yazı tipindeki ebeveyn-çocuk ilişkisidir . Ancak, ebeveyn-çocuk ilişkisi hakkında konuşmadan önce, en baştan başlayalım.
Uzun zamandır beklenen CPT
WordPress'inizi güncellemenin neden önemli olduğunu bilmiyorsanız, işte size bariz bir örnek. Yıllarca bekledikten sonra, WordPress 3.0 geldiğinde nihayet özel gönderi türleri oluşturabildik. Ve bu gerçekten de bir an önce öğrenmek istediğiniz fırsattı. Bununla birlikte, bir WordPress web sitesi basit bir blog platformundan güçlü bir Kontrol Yönetim Sistemine dönüştürüldü. Sadece birkaç satır kodla kendi türümüze sahip olabiliriz.
Özel gönderi türünde ebeveyn-çocuk ilişkisine geçmeden önce, öncelikle özel gönderi türünün ne olduğunu görelim.
CPT nedir?
Özel gönderi türlerinin CPT'si içerik olarak kabul edilebilir. Herhangi bir şekilde bir blog yazısı olmadığı için "gönderme" terimi kafanızı karıştırabilir. CPT, istediğiniz herhangi bir içerik olabilir ve bunları tanımlamak için katı kurallar yoktur . Açıkçası, varsayılan ve özel gönderi türleri vardır. Varsayılan gönderi türleri, blog gönderileri, sayfalar ve ekler, düzeltmeler ve gezinme menüleridir.
Öte yandan, özel gönderi türleri, bilgi oluşturmak, depolamak ve düzenlemek için daha fazla yaratıcı kontrol sağlar.
Özel gönderi türlerini blog gönderileriyle karıştırmamalısınız. Blog gönderileri için yapı ve hiyerarşi oluşturmak istiyorsanız, WordPress'te emrinizde kategoriler ve alt kategoriler var.
Özel gönderi türleri için kullanın
WordPress varsayılan gönderi türleri olsa da, bazı kişilerin bundan daha fazlasına ihtiyacı vardır. Özel gönderi türlerinin yararlı olduğu örneklerden bazıları:
- Etkinlik türleri ve mekanları ile etkinlik listeleri sitesi
- emlak listeleri
- Ürün seçenekleri ile e-ticaret siteleri
- Bilet sistemi
- Tasarım galerisi veya vitrin
Bu fikirlerin önerilerden sadece birkaçı olduğunu unutmayın. Özel gönderi türlerini kullanabileceğiniz çok daha fazla fikir var, bu yüzden hayal gücünüzü serbest bırakın.
Ebeveyn-çocuk ilişkisi ve gönderiler
Ayarlar'a gidip “Hiyerarşik” seçeneğini etkinleştirdiğinizde, gönderilerinizin daha çok sayfa gibi davranmasını sağlayabilir ve ebeveyn/çocuk ilişkilerini elde edebilirsiniz. Örneğin, "içki" adlı bir gönderi türünüz ve "likör" ana sayfanız ve "votka" alt sayfanız olduğunu varsayalım. "Votka" gönderisini görüntülediğinizde, URL şuna benzer: siteniz.com/drink/liquor/vodka/
Temel olarak, bu, birbiriyle ilişkili diğer gönderi türlerini değil, yalnızca gönderi türünüz içindeki gönderilerinizi etkiler. Örneğin, “içecek” yazı tipi, “yiyecek” yazı tipinin çocuğu olmayacaktır.
Sınırlama seçenekleri
Post ilişkilerinden bahsederken, WordPress çok az şey sunar. Aslında, özel tür gönderilerdeki ebeveyn/alt ilişkisi , WordPress'in desteklediği tek ilişki türüdür. Ancak, özel bir yazı tipini ebeveyn yapmak ve başka bir özel yazı tipini bir çocuk yapmak zor görünebilir.

İşte farklı gönderi türlerini görebileceğiniz ve alt gönderileri bir üst gönderiye atayabileceğiniz bir projeden bir örnek.
- "Mahalle" adlı özel gönderi türü
- Bu mahalledeki yerler için "Yerler" adında özel bir yazı tipimiz olacak.
- Bu özel gönderi türlerinin hiyerarşik olmadığını unutmayın.
- Amaç, her yeri bir mahalleye atamaktır; bu, ebeveynin yayınlayacağı
Ebeveyn gönderisi atama
Umarım, şimdiye kadar yazı türleri hakkında biraz bilgi sahibi olmuşsunuzdur ve nasıl çalıştıklarını biliyorsunuzdur. Ancak, bir ana gönderi atamak için biraz kodlama yapmanız gerekir. WordPress'teki kısa kodlara aşina değilseniz, temel bilgileri anlamaya çalışın. Bir ana gönderi atamak için yalnızca aşağıdaki kodu eklentinin yönetici dosyalarına eklemeniz gerektiğinden, temel bilgiler yeterli olmalıdır.


Açıklama amacıyla, burada Mahalle ve Yer düz yazı tiplerini kullanacağız. Ve şimdi kodlama zamanı:
/* Hook meta box to just the 'place' post type. */ add_action( 'add_meta_boxes_place', 'my_add_meta_boxes' ); /* Creates the meta box. */ function my_add_meta_boxes( $post ) { add_meta_box( 'my-place-parent', __( 'Neighborhood', 'example-textdomain' ), 'my_place_parent_meta_box', $post->post_type, 'side', 'core' ); } /* Displays the meta box. */ function my_place_parent_meta_box( $post ) { $parents = get_posts( array( 'post_type' => 'neighborhood', 'orderby' => 'title', 'order' => 'ASC', 'numberposts' => -1 ) ); if ( !empty( $parents ) ) { echo '<select name="parent_id" class="widefat">'; // !Important! Don't change the 'parent_id' name attribute. foreach ( $parents as $parent ) { printf( '<option value="%s"%s>%s</option>', esc_attr( $parent->ID ), selected( $parent->ID, $post->post_parent, false ), esc_html( $parent->post_title ) ); } echo '</select>'; } }
Gönderi türü adlarını kendi gönderi türlerinizle değiştirmeyi unutmayın. Kodu daha iyi anlamak ve web sitenizde kullanmak için GitHub'da faydalı bulabileceğiniz başka bir örnek.
ilişkiler sonrası
Özel gönderi türlerinde ebeveyn-çocuk ilişkileri yararlı olsa da, oldukça sınırlıdırlar. Daha karmaşık çözümlere sahip olmak istiyorsanız, başka bir yere bakmanız gerekecek. Bunlar, posta ilişkilerinin benzer etkilerini elde etmenize yardımcı olabilecek bazı eklentilerdir.

Neden post ilişkilere ihtiyacımız var?
Bir sitedeki gönderiler arasında bağlantılar oluşturmak istiyorsak, temelde gönderi ilişkilerini kullanırız. Ve bu kadar iyi olmalarının nedeni, gelişmiş web siteleri oluşturmamıza izin vermeleridir. Özel gönderi tipi gönderileri birbirine bağladığımızda, veri tekrarını önleyebiliriz ve hepsinin bir bilgiyi bir kereden fazla düzenlemesine gerek kalmamasını sağlarız. Ayrıca zaman nakit olduğu için, sıradan görevlerden kaçınmamıza yardımcı olabilecek herhangi bir yönteme ihtiyacımız var.
Özel gönderi türlerinde ebeveyn-çocuk ilişkisini kullanmanın faydaları
Özel gönderi türünde ebeveyn-çocuk ilişkisini kullanmanın bariz faydalarından biri, sitenizi sıralı tutabilmenizdir. Ve arama motorları ve kullanıcılar, düzenli bir yapıya sahip bir siteyi severler. Ancak, bunun faydalarını gerçekten yaşamak için iyi bir plan oluşturmanız ve buna bağlı kalmanız gerektiğini unutmayın.