Uh, hmm. Pages are not handled in the same manner as posts, and can’t be looped in succession–not through the normal Loop process, that is. What I’d suggest (unless someone has a better solution) is to construct a database query that assigns Pages, but only those under the specific Page parent, to an array handled through the older (pre-1.5) Loop method. Here’s how you can do that…
First, keep the regular Loop in your template, but within it use only this:
<?php $pageID = $post->ID; ?>
Here you’re capturing the Page ID number for your next step. (You can skip this and remove The Loop entirely if you hardcode the ID number of the parent Page into your sql query. I’m just making it a bit more flexible.) After the regular Loop ends, set up your customized one:
<?php
$posts = @$wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_status='static' AND post_parent='$pageID' ORDER BY post_date DESC");
if($posts) : foreach($posts as $post) : start_wp();
?>
At this point put the template tags and any HTML you want to use for the content of individual Pages:
<div class="ChildPagesExample">
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
</div>
Then just close up your custom Loop:
<?php endforeach; endif; ?>
Note: You can change the order Pages are displayed by altering the ORDER BY portion of your sql query. Some options:
ORDER BY post_date ASC
Orders by post date, oldest to newest.
ORDER BY ID
Orders by post/Page ID.
ORDER BY ID DESC
Orders by post/Page ID, newest to oldest.
ORDER BY post_name
Orders by post name, alphabetically (A-Z).