2012-03-18 21 views
1

私はワードプレスで階層型カスタム投稿タイプを "films"という名前で作成しました。階層的なので、子要素を持つことができます。Wordpressカスタム投稿タイプ子供テンプレート

「映画」をクリックすると、wordpressは自動的に「single-films.php」というテンプレートを使用します。それは素晴らしいですが、私は映画の子供ページの1つがクリックされたときに別のテンプレートを使用したいと考えています。例えば、映画の子供は「押す」かもしれません。その映画のプレスリンクをクリックすると、single-films.phpとは別のテンプレートを使用したいと思っています。

私はsingle-children-films.phpのようなテンプレートを使うことができます。どのように私は階層的なカスタムポストタイプの子供のテンプレートを変更することができます任意のアイデア?

+0

か、それを処理する別の方法は、単一のフィルムに条件ロジックを追加することである私のシングルproduct.phpに

を置く。これは、子の記事を取得する最初のクエリです。この投稿が親であるかどうかをPHPが言っています、これを行います...この投稿が子供の場合は、これを行います....しかし、私は、どちらかをするためにe。 – JCHASE11

+0

私はちょうどここで非常に似た何かに答えました:https://stackoverflow.com/questions/45919508/allowed-template-for-children-wordpress/45922616#45922616 – Paul

答えて

0

私はこれを助けることができると確信しています。私はちょうど1つのことを知る必要があります、子供はいつも親と同じポストタイプですか?または、独自の個別のカスタムポストタイプと言ったように「プレス」ですか?私はここで何を「製品」親は「ブランド」で、子供は基本的に「ブランドのアイテム」ですというカスタムポストタイプであった

1

は、私はちょうど同じことを行っていると思います私は、[アイテム]

<?php $mypages = get_pages(array('child_of' => $post->ID, 'post_type' => 'product', 'sort_order' => 'desc')); 
//So if it is not a parent 
if (empty($mypages)){ ?> 
//use these styles 
<div class="single_item">stuff is happening</div> 
//If it is a parent post so has children 
<?php ; } else { ?> 
//Then Do these things 
<div class="brandstuff">showing extra stuffs</div> 
<div class="morebrandstuffs">maybe do some extra stuff</div> 
//I wanted to add a list of my child pages to my parent page 
<?php $mypages = get_pages(array('child_of' => $post->ID, 'post_type' => 'product', 'sort_order' => 'desc')); 

foreach($mypages as $page) {  
    $content = $page->post_content; 
    if (! $content) // Check for empty page 
     continue; 

    $content = apply_filters('the_content', $content); 
?><div class="item"> 
    <a href="<?php echo get_permalink($page->ID); ?>"> 
    <div class="item_thumb"><?php echo get_the_post_thumbnail($page->ID, 'item_thumb'); ?></div> 
    <?php echo $page->post_title; ?></a> 
     </div> 

<?php 
} 
?> <?php } ?> 
関連する問題