Wordpress - 当页面有子项时显示容器div

时间:2018-01-12 12:40:23

标签: wordpress

我有一个父页面,我想列出其子页面。我有代码为它工作。但是,如果页面有子节点,我还想只显示这些子页面列表的容器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;
?>

由于

1 个答案:

答案 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;?>