在父自定义帖子类型和所有子帖子上显示特定内容

时间:2013-03-26 作者:semory

我有一个自定义的职位类型内的5个主要职位。其中一些帖子会有孩子。我的内容应该只显示在父帖子和该帖子的所有子帖子上。实现这一目标的最佳方式是什么?

2 个回复
最合适的回答,由SO网友:RevCocnept 整理而成

您可以根据帖子ID设置条件:

<?php if (is_page(12) || $post->post_parent=="12") { ?>

    <ul>
        Your Menu
    </ul>

<?php } else { ?>

    <ul>
        Another Menu (or put nothing here)
    </ul>

<?php } ?>
如果您不知道如何定位帖子ID:

“使用光标滚动任何页面、帖子或类别(当然是在登录和“管理”区域时),页面、帖子或cat\\U id号会显示在浏览器底部的进度条中。”-http://wordpress.org/support/topic/where-is-the-post-id-number

SO网友:RevCocnept

你的问题有点不清楚。。。我想你想问的是如何显示该帖子的父内容。。。还有每个孩子的内容?

尝试以下操作:

对于家长(假设您的内容就是标题)

<?php if (have_posts()) : ?> 

        <h1><?php the_title(); ?></h1> 

    <?php while (have_posts()) : the_post(); ?>
为了孩子们

<?php

    global $post;
    $child_pages_query_args = array(
        \'post_type\'   => \'your-custom-type\',
        \'post_parent\' => $post->ID,
        \'orderby\'     => \'menu_order\'
    );

    $child_pages = new WP_Query( $child_pages_query_args );

    if ( $child_pages->have_posts() ) : while ( $child_pages->have_posts() ) : $child_pages->the_post();
?>      

        <div>SOME CHILD CONTENT</div>
结束子项

<?php 

        endwhile; endif;

        wp_reset_postdata(); 

?>          
结束父级

<?php endwhile; endif; ?>
整个过程将如下所示:

    <?php if (have_posts()) : ?> 

    <h1><?php the_title(); ?></h1>

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

    <?php

    global $post;
    $child_pages_query_args = array(
        \'post_type\'   => \'your-custom-type\',
        \'post_parent\' => $post->ID,
        \'orderby\'     => \'menu_order\'
    );

    $child_pages = new WP_Query( $child_pages_query_args );

    if ( $child_pages->have_posts() ) : while ( $child_pages->have_posts() ) : $child_pages->the_post();
        ?>                              

            <div>SOME CHILD CONTENT</div>           

    <?php 

    endwhile; endif;

    wp_reset_postdata(); 

    ?>


    <?php endwhile; endif; ?>

结束

相关推荐