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.
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:
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.
post_parent
başka bir "post_id" a başka şekilde atadığımız takdirde bu işlevsellik etkilenmeyeceğini düşünüyorum 0
.
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;
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.
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. "
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ş.
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.
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.
post_parent
hangi sayfaya / yayına (özel posta türleri dahil) bağlı olduklarını belirlemek için sütunu kullandığını unutmayın .