2011-03-04 12 views

cevap

6

Zaten ana yazının kimliği varmış gibi sadece bunu kullanabilirsiniz, böylece görünür:

<?php 
    $parent_post_id = 6; 
    $parent_post = get_post($parent_post_id); 
    $parent_post_title = $parent_post->post_title; 
    echo $parent_post_title; 
?> 

($ parent_post_id adresinden ebeveyn sonrası kimliği yerleştirin)

Ref: http://codex.wordpress.org/Function_Reference/get_post

+0

Üzgünüm Takip etmiyorum. Ebeveyn gönderi kimliğimin 6 olduğunu varsayalım. Kodun * olması * post_title; ?> *? Eğer öyleyse, döngüde olması ya da basit bir yankı çalışması mı gerekiyor? – Ryan

+0

Üzgünüm, yukarıdaki yorumu düzenlememe izin vermedim. Yukarıdaki kodun düzenlenmiş sürümüne bakın. Döngü içinde olmanıza gerek yoktur, sadece aşağıdakileri yapabilirsiniz: ' post_title; echo $ parent_post_title; ?> ' – Demelziraptor

+0

Mükemmel - teşekkürler! – Ryan

20
echo get_the_title($post->post_parent); 

veya

echo get_the_title(X); 

Burada X geçerli bir post/sayfa kimliğidir.

Sadece bir özellik için tam bir gönderi nesnesi almanıza gerek yoktur.

+1

Teşekkürler! Bu güzel ve temiz ve sadece ihtiyacım olan şey – Zade

+0

. :) – t31os

0

Bunu yazdım, ana gönderiyi ele geçirecek ve ardından ebeveynlerin başlığını ve benzerlerini yankılayacaktır. Bir göz atın ve sizin için çalışıyorsa bana bildirin.

Bu hatta yanı wordpress döngünün dışında çalışması gerekir

https://gist.github.com/1140481

. Ayrıca, birden fazla ana hiyerarşi düzeyi olduğunda kullanmak üzere kaydetmek edilir

:

1

Bu İhtiyacınız temiz ve güzel bir koddur.

<?php 

    $current = $post->ID; 

    $parent = $post->post_parent; 

    $grandparent_get = get_post($parent); 

    $grandparent = $grandparent_get->post_parent; 

    ?> 

    <?php if ($root_parent = get_the_title($grandparent) !== $root_parent = get_the_title($current)) {echo get_the_title($grandparent); }else {echo get_the_title($parent); }?>