0

我有一个分层的自定义帖子类型。它有6个页面,每个页面有3个子页面。

查看 6 个页面之一时,我需要显示其 3 个子/后代页面中的每个页面的内容(标题和摘录)。

这是我当前的循环:

<?php if(have_posts()):?>
    <?php query_posts('&post_type=how-we-do-it&post_parent=0');?>
    <?php while(have_posts()):the_post();?>
    <?php $color = get_post_meta( get_the_ID(), 'pointb_how-we-do-it-color', true ); ?>
      <div class="section">
          <div class="title">
            <h1 style="background:<?php echo $color;?> !important;">
              <?php the_title();?>
            </h1>
          </div>
          <div class="content">
            <div class="how-<?php the_slug();?>">the summary here. and here is child content:
                <div class="child">child content should be here.</div>
            </div>
          </div>
      </div>
    <?php endwhile;?>
    <?php wp_reset_query(); ?>
    <?php endif;?>

我尝试了许多不同的方法来尝试完成我需要的东西,但它们都不能在自定义帖子类型中工作。以下是我尝试过的一些不同方法:

我在此页面上尝试了建议的代码:http ://wordpress.org/support/topic/display-child-pages-title-amp-content-on-parent-page

我还尝试了以下代码:

$pageChildren = get_pages('child_of='.$post->ID');
if ( $pageChildren ) {
  foreach ( $pageChildren as $pageChild ) {
    echo '<h2><a href="' . get_permalink($pageChild->ID) . '">'. $pageChild->post_title.'</a></h2>
';
    if ($pageChild->post_excerpt){
      echo ''.$pageChild->post_excerpt.'

';
    }
  }
}

我尝试了许多其他方法,但我懒得保存,所以我无法展示它们。

我正处于对此感到沮丧的地步,并认为我会把它扔在这里以获得一些新的观点。

4

2 回答 2

1

您的第一个示例的问题是您if(have_posts())在重建查询之前调用。

第二个样本'在 $post->ID 之后有一个悬空。

尝试这个:

$pageChildren = get_posts( 'post_type=how-we-do-it&post_parent='.$post->ID );
于 2013-05-18T20:56:44.513 回答
0

根据上面 MarZab 的一些评论,我开始考虑帖子 ID。

我对上面最初发布的代码块进行了以下调整,现在它可以完美运行:

$pageChildren = get_pages('child_of='.$post->ID');

就是现在:

$post_id = get_the_ID();            
$pageChildren = get_posts( 'post_type=how-we-do-it&echo=0&post_parent='.$post_id );
于 2013-05-19T10:08:32.313 回答