我有一个父页面,我想列出其子页面。我有代码为它工作。但是,如果页面有子节点,我还想只显示这些子页面列表的容器div。
因此,如果存在子页面,则显示容器div,列出容器div中的子页面。如果不存在子页面,请不要显示容器div。
到目前为止代码:
<?php
$child_pages = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = ".$post->ID." AND post_type = 'page' ORDER BY post_title", 'OBJECT'); ?>
<?php if ( $child_pages ) : foreach ( $child_pages as $pageChild ) : setup_postdata( $pageChild ); ?>
<div class="child-thumb">
<a href="<?php echo get_permalink($pageChild->ID); ?>" rel="bookmark" title="<?php echo $pageChild->post_title; ?>">
<?php echo get_the_post_thumbnail($pageChild->ID, 'medium'); ?>
<h4 class="arrow_box green" ><?php echo $pageChild->post_title; ?></h4></a>
</div>
<?php endforeach; endif;
?>
由于
答案 0 :(得分:0)
您想要拆分if语句,以便在foreach循环运行之前执行某些操作。这样的事情应该让你开始。仅供参考,可能有更好的方法来抓住子帖并检查child_pages。
<?php
$child_pages = get_posts( array(
'post_type' =>'page',
'posts_per_page' =>-1,
'post_parent' => $post_id,
'order_by' => 'title',
'order' => 'ASC' ) );
if ($child_pages) {
?>
<div id="child_pages">
<?php foreach ($child_pages as $pageChild) : setup_postdata( $pageChild); ?>
<div class="child-thumb">
<a href="<?php echo get_permalink($pageChild->ID); ?>rel="bookmark" title="<?php echo $pageChild->post_title; ?>">
<?php echo get_the_post_thumbnail($pageChild->ID, 'medium'); ?>
<h4 class="arrow_box green"><?php echo $pageChild->post_title; ?></h4></a>
</div>
<?php endforeach; ?>
</div>
<?php end if;?>