2012-03-18 8 views
0

"films"という階層カスタムポストタイプを作成しました。階層的なので、子要素を持つことができます。Wordpressはカスタムループを使用して子ページに親コンテンツを表示します

私はそうのような子供のページから親ページごとに異なるコンテンツを表示するには、私のシングルfilms.phpに条件文を使用しています:ページが子供であるという条件で

<?php while(have_posts()) : the_post(); ?> 

<?php if($post->post_parent != 0) { 
    echo "Child Page"; 
} else { 
    echo "Film Page"; 
} ?> 
<?php endwhile; ?> 

、私は子ページではなく、親ページに入力された値を使用します。ループは既に作成されているので、子ページの親ページからコンテンツを取り出す方法を見つけ出す必要があります。私はそれが私の望む任意のコンテンツ(カスタムフィールド、タイトル、特集画像など)を親から引き出すために必要です。どのように私はそれが親からコンテンツをプルするためにこのループを変更することができます任意のアイデア?

答えて

4

Wordpressのは、素敵なget_post機能を持っている、あなたは、例えば、親のタイトルを取得するには、このようにそれを使用することができます:

<?php 

if ($post->post_parent != 0) { 
    $parent = get_post($post->post_parent); 
    echo $parent->post_title; 
} ?> 

あなたは、そのキー/名前と親の郵便番号によって任意のカスタムフィールドにアクセスすることができます。

<?php 

$image = wp_get_attachment_image_src(get_post_meta($post->post_parent, 'custom-field-key', true)); 
echo '<img src="' . $image[0] . '" />'; 
?> 

これはWordpress用のプラグインAdvanced Custom Fieldsで確実に機能します。

+0

親ページのカスタムフィールドとショートコードはどうですか?それはタイトルのためだけに機能するのでしょうか、それともその親のすべてのコンテンツのために働くことができますか? – JCHASE11

+0

私は親要素から必要なデータを取得するために上記を使用できますか?私は高度なカスタムフィールドプラグインを使用して、親からのカスタムフィールドを<?php get_field( 'image');で表示します。 ?>と私は子供のページでも利用できるようにしたいです – JCHASE11

+0

うわー、かなりクール!典型的なカスタムフィールドでこれがどのように機能するかを示すことができますか?何かが好きです:<?php get_field( 'cast_members'); ?> – JCHASE11

1

これはちょっと遅いですが、それはACFで動作しますが、サムネイル(クロップされた画像)のみが取り出されます。正確なフルイメージを取得するには、コードを少し変更する必要があります。

<?php 
$image = wp_get_attachment_image_src(get_post_meta($post->post_parent, 'custom-field-key', true), 'full'); 
echo '<img src="' . $image[0] . '" />'; 
?> 

楽しいです。

これを考えると、将来的に誰かを助けるかもしれません。

関連する問題