我创建了一个获取正确子页面及其内容的循环,但是它在foreach循环中错开/重复了页面内容。
框(按顺序)应显示以下内容:
专栏1:PRESS
方框2:电视节目
方框3:电台节目
方框4:画廊
然而,您可以看到它正在执行以下操作:
方框1:按
方框2:按,电视节目
方框3:新闻,电视节目,电台节目
方框4:新闻,电视节目,电台节目,画廊
<?php
//get current page ID
$the_id = get_the_ID();
$args = array(
'child_of' => $the_id,
'title_li' => '',
'parent' => $the_id,
'sort_order' => 'DESC',
'sort_column' => 'menu_order'
);
$pages = get_pages( $args );
$output = '';
foreach($pages as $value){ ?>
<div class="col-xs-12 col-sm-6">
<div class="row">
<div class="col-xs-12">
<?php
$thumb = get_the_post_thumbnail( $value->ID, $attr = ' img-responsive' );
$output .= "<div class='thumbnailcontainer'><a href='" . $value->post_name . "' >" . $thumb . "<span>" . $value->post_title . "</span></a></div>";
echo $output;
?>
</div>
</div>
</div>
<?php } ?>
我尝试将posts_per_page限制为1但没有区别。
答案 0 :(得分:2)
在第24行用 $ output = 替换 $ output。= 。:)我认为应该解决它。
或者您可以尝试的是:
<?php
//get current page ID
$the_id = get_the_ID();
$args = array(
'child_of' => $the_id,
'title_li' => '',
'parent' => $the_id,
'sort_order' => 'DESC',
'sort_column' => 'menu_order'
);
$pages = get_pages( $args );
$output = '';
foreach($pages as $value) {
$thumb = get_the_post_thumbnail( $value->ID, $attr = ' img-responsive' );
$output .= "<div class='thumbnailcontainer'><a href='" . $value->post_name . "' >" . $thumb . "<span>" . $value->post_title . "</span></a></div>";
}
?>
<div class="col-xs-12 col-sm-6">
<div class="row">
<div class="col-xs-12">
<?=$output?>
</div>
</div>
</div>
顺便说一下,尽量避免混用PHP和HTML! ;)