Gönderilerin ebeveynleri olabilir mi?


13

Gönderilerin ebeveynleri olması gerekiyor mu? Öyleyse, bir gönderinin ebeveyn olması ne anlama gelir?

Ayrıca, ebeveynleri olan gönderilerde bazı kısıtlamalar varsa, bu nerede uygulanır? Gördüğüm gibi DB değil.

Yanıtlar:


15

Kutunun dışında, hayır, gönderilerin ebeveynleri olamaz. Hiyerarşik olarak düzenlenebilen kategorilere atanabilirler. Ancak sayfaların ebeveynleri olabilir ve bu özelliği kullanarak bunlardan bir menü yapısı oluşturabilirsiniz.

Bunun uygulandığı yere gelince: Bir yazının üstü "wp_posts" içindeki "post_parent" sütununda saklanır. Bu şekilde gerçekten zorlanmaz, sadece varsayılan kullanıcı arayüzü size ayarlama seçeneği sunmaz ve varsayılan WP kodlaması Yayınlar için bu değeri kullanmaz. Bununla birlikte, ebeveynlerle yayınlar için özel bir posta türü oluşturmak çok zor olmaz.


2
Ayrıca, medya eklerinin post_parenthangi sayfaya / yayına (özel posta türleri dahil) bağlı olduklarını belirlemek için sütunu kullandığını unutmayın .
David Gard

@DavidGard Haklısın. Ama post_parentbaşka bir "post_id" a başka şekilde atadığımız takdirde bu işlevsellik etkilenmeyeceğini düşünüyorum 0.
Yabancı

11

Wp, "Sayfalar" (hiyerarşik, ebeveynlere izin verilir) ve "Gönderiler" (hiyerarşik olmayan) olarak yerleşiktir. Başka yazı türleri de var, ama bunu bırakalım.

Q sonuçlanırsa:

Hiyerarşik gönderiler alabilir miyim?

O zaman cevap Evet ,… hiyerarşik olan “gönderileriniz” olabilir. Ancak yerleşik olmadıklarından, kendi Özel Yazı Türünüzü kaydetmeniz gerekir - bkz. Bağımsız Değişkenler »hiyerarşik.

Bu tür "Gönderiler" (veya makaleler, her neyse,…), daha sonra bir üst gönderileri olması durumunda, üst kimliği kendi nesnelerinin içine yerleştirir. Yani bir döngüde aşağıdakileri yapabilirsiniz:

if ( have_posts )
{
    the_post();
    // etc.

    global $post;
    // call parent: http://codex.wordpress.org/Function_Reference/get_post
    $parent = get_post( $post->post_parent );

    echo "<h2>{$post->post_title} is a child of {$parent->post_title}";

    // etc.
} // endif;

2
Mükemmel çivilenmiş. Tam aradığım şey.
Paras Shah

-1

Bir arama motoru perspektifinden bakıldığında, bu yanıtlardan ikisi birleştirilerek Google'ın yayınlarınızın hiyerarşisini ve elbette kullanıcıları izlemesine yardımcı olur.

  1. Bir sayfa ekleyin ve yayınlarınızı barındırmak için kullanın. "Tüm yayınlarınızda bir üst sayfa ayarlamanın en iyi yolu (Görünüm -> Özelleştir) menüsüdür. Ana sayfanız veya yayınlar sayfanız için statik bir sayfa ayarlayabilirsiniz. Statik bir yazı sayfası ayarladığınızda, bu sayfa her blog gönderisinin ebeveyni olun. "

  2. Kalıcı bağlantı yapısını yukarıda belirtildiği gibi / blog /% postname% olarak değiştirin. "Blog sayfanızın bilgi adının blog olduğundan emin olmak yerine URL'yi yayınlamadan önce blog eklemek istediğinizi varsayalım.

Ardından WP-admin-panel> ayarlar> kalıcı bağlantıya gidin ve son "özel yapı" seçeneğini seçin ve içine aşağıdakileri ekleyin:

/ Blog /% postname% /

ve değişiklikleri kaydedin. Yalnızca blog sayfanıza uygulanacak, diğer sayfa blog'u üst öğe olarak göstermeyecek. "

Bu şekilde Google, site haritalarındaki hiyerarşiyi domain.com/page/post (bu sırayla) olarak görür ve içeriği aynı yerde bulur. Kullanıcılar gibi. İş bitmiş.


-4

Blog sayfanızın bilgi adının blog olduğundan emin olmak yerine URL'yi yayınlamadan önce blog eklemek istediğinizi varsayalım.

Ardından WP-admin-panel> ayarlar> kalıcı bağlantıya gidin ve son "özel yapı" seçeneğini seçin ve içine aşağıdakileri ekleyin:

/blog/%postname%/

ve değişiklikleri kaydedin.

Yalnızca blog sayfanıza uygulanır, diğer sayfa blog'u üst öğe olarak göstermez.


-6

Bunun eski bir yazı olduğunu biliyorum. Ancak bu cevapların hiçbiri doğru değil ve bu sorunu çözmek için kullandığım çözümü göndermek istedim. Tüm yayınlarınızda bir üst sayfa oluşturmanın en iyi yolu (Görünüm -> Özelleştir) menüsüdür. Ana sayfanız veya yayınlar sayfanız için statik bir sayfa ayarlayabilirsiniz. Statik bir yazı sayfası ayarladığınızda, bu sayfa her blog yayını için üst öğe olur.


2
Bu bir üst sayfa değil - bir yayın arşivi içeren bir şablon. Bunu ayarlamak yayınları hiyerarşik yapmaz.
kaiser

Üst sayfa nasıl değil? Statik bir sayfadır (bu arada bir arşiv olmak zorunda değildir, bu statik sayfaya atadığınız sayfa şablonu ne olursa olsun, istediğiniz her şeye sahip olabilir) ve bu ayarlandığında URL'leriniz, Hiyerarşiyi ve Ekmek Kırıntılarını takip eder sitede. Posta üst öğesi olarak statik bir sayfa atamanıza olanak tanıyan 1 dakikalık bir düzeltmedir. Sorusu, ilk etapta hiyerarşik olduğu hakkında HİÇBİR ŞEY'den bahsediyor. Belki de bu çözümün nasıl kötü bir uygulama olacağı konusunda beni aydınlatabilirsin?
LateToTheParty

"Gönderilerin üst öğesi olması gerekiyor mu", "Gönderiler hiyerarşik midir" ile aynı şeydir. Bir şablon her şeyi içerebilir , ancak arşiv döngüsünü döndüren ve görüntüleyen bir döngü içerdiği gerçeği (a) sayfayı üst öğesi yapmaz (yalnızca döngünün olduğu yer) ve (b) yerleşik yazı tipi "post" hiyerarşik yapmak veya başka bir deyişle, bir üst öğe atamaz . Ancak evet, bir döngüdeki yayınları belirli ölçütlere göre (paylaşılan bir alt kategori gibi) çağırabilirsiniz.
kaiser

Eleştiri veya sorunuzun veya cevabınızın açıklığa kavuşturulmasıyla atılmayın. Burası bu aslında bir şeydir ihtiyacı en iyi cevaplar başarılı ve bir gidip anında bir şey yapmak ya da nasıl bir şey eserlerinden mümkün anlayışlar olarak nasıl anlayabiliriz wiki / kütüphane yer olarak hizmet yapmak için her zaman olurmuş. İnsanları (sizin gibi) başka cevaplar hakkında yorum yapmaya da teşvik ediyoruz. Yanıtınızın kötü bir uygulama olduğunu hiçbir yerde söylemediğimi unutmayın . Birçok yönden doğrudur, sadece yazı türünü hiyerarşik kıldığı ifadesi değildir.
kaiser
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.