0

Currently I'm trying to make a dynamic bootstrap collapse with child page information. The problems I'm facing is how to get the_content(); (it's all text without a read more option) of a child page and how can I make div ID's unique?

<h1>Themas</h1>
<div class="row">
<div id="accordion" class="panel-group">

<?php
$child_pages = $wpdb->get_results("SELECT *    FROM $wpdb->posts WHERE post_parent = ".$post->ID."    AND post_type = 'page' ORDER BY menu_order", 'OBJECT');    ?>
<?php if ( $child_pages ) : foreach ( $child_pages as $pageChild ) : setup_postdata( $pageChild ); ?>


<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title"><a class="accordion-toggle" href="#UNIQUEID" data-toggle="collapse" data-parent="#accordion">
<?php echo $pageChild->post_title; ?>
<i class="indicator glyphicon glyphicon-chevron-down pull-right"></i>
</h4>
</div>                  
<div id="#UNIQUEID" class="panel-collapse collapse">
<div class="panel-body"><?php echo $pageChild->post_content; ?></div>
</div>
</div>



<?php endforeach; endif;
?>

</div>

Can anyone help me out?

Thanks in advance!

0

You rarely ever need a custom SQL query, use the tools WordPress has to offer:

$query = new WP_Query(
    array(
        'posts_per_page' => -1,
        'post_parent' => $post->ID,
        'post_type' => 'page',
        'orderby' => 'menu_order post_title',
        'order' => 'ASC',
    )
);

if ( $query->have_posts() ) : ?>

    <?php while ( $query->have_posts() ) : $query->the_post() ?>

        <div id="page-<?php the_ID() ?>">
            <?php the_content() // Use any template tags as you would normally ?>       
        </div>

    <?php endwhile ?>

    <?php wp_reset_postdata() // Restore the current page ?>

<?php endif ?>
| improve this answer | |
  • Thanks a lot! This is the correct answer. I'll post the total code under this answer. – rwzdoorn Mar 11 '15 at 13:27
  • @rwzdoorn I'd say don't worry - this answer sufficiently explains the concept, your exact code is unlikely to be relevant for anyone else. – TheDeadMedic Mar 11 '15 at 13:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.