Дочерний шаблон пользовательского типа записи Wordpress

Я создал иерархический пользовательский тип записи в wordpress под названием «фильмы». Он иерархический, поэтому может иметь дочерние элементы.

Когда нажимается «фильм», WordPress автоматически использует шаблон с именем «single-films.php». Это здорово, но я хочу использовать другой шаблон при нажатии на одну из дочерних страниц фильма. Например, дочерним элементом фильма может быть «пресса». Когда нажата ссылка для прессы этого фильма, я хочу, чтобы он использовал другой шаблон, чем single-films.php.

Я надеялся, что смогу каким-то образом использовать такой шаблон, как single-children-films.php. Любые идеи, как я могу изменить дочерний шаблон иерархического пользовательского типа сообщения?


person JCHASE11    schedule 18.03.2012    source источник
comment
или другой способ справиться с этим - добавить условную логику в single-films.php, говорящую, что если этот пост является родительским, сделайте это... если этот пост является дочерним, сделайте это.... Но я не уверен кода, чтобы сделать это либо.   -  person JCHASE11    schedule 18.03.2012
comment
Я только что ответил на что-то очень похожее здесь: .com/questions/45919508/   -  person Paul    schedule 29.08.2017


Ответы (2)


Я думаю, что я только что сделал то же самое:

У меня был настраиваемый тип сообщения под названием «продукт», родитель — это «бренд», а дочерний элемент — это, по сути, «элемент бренда», вот что я поместил в свой single-product.php.

Это первый запрос для получения дочерних сообщений [items].

 <?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 } ?>
person taz johnston    schedule 03.05.2012

Я уверен, что могу помочь с этим. Мне просто нужно знать одну вещь: всегда ли дети относятся к тому же типу сообщений, что и родитель? Или «пресса», как вы сказали в своем примере, это отдельный настраиваемый тип сообщения?

person eddiemoya    schedule 02.05.2012