Özel gönderi türünde ebeveyn-çocuk ilişkisi

Yayınlanan: 2020-08-18

Dü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.

WordPress.
WordPress, özel gönderi türünde yalnızca ebeveyn-çocuk ilişkisine izin verir

İş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.

Özel gönderi türünde bir ebeveyn çocuk ilişkisi kurmak için gerekli dizüstü bilgisayarda bir kod
Kodlama zamanı

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.

Çocukları ve tableti olan bir anne.
Size daha iyi bir resim vermek için

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.