Php WordPress:使用get_pages()排除父页面

Php WordPress:使用get_pages()排除父页面,php,wordpress,wordpress-theming,Php,Wordpress,Wordpress Theming,我有以下代码: <?php $pages = get_pages('exclude=10'); ?> <?php foreach ( $pages as $page ) : ?> <?php echo $page->post_title; ?> <?php endforeach; ?> 我想排除页面id 10,但我仍然想包括它的子页面 但是,如果我尝试使用include参数包含它们,它们仍然不会显示。有几种默认方式。但我更喜欢这

我有以下代码:

<?php $pages = get_pages('exclude=10'); ?>
<?php foreach ( $pages as $page ) : ?>
    <?php echo $page->post_title; ?>
<?php endforeach; ?>

我想排除页面id 10,但我仍然想包括它的子页面


但是,如果我尝试使用
include
参数包含它们,它们仍然不会显示。

有几种默认方式。但我更喜欢这个。您可以使用WordPress get_results()函数编写如下SQL查询

global $wpdb;

$child_pages = $wpdb->get_results("
    SELECT * FROM {$wpdb->posts} AS p 
    WHERE p.post_type LIKE 'page' 
    AND p.post_parent LIKE 0 
    AND p.id NOT IN (
        SELECT post_parent 
        FROM {$wpdb->posts} AS p 
        WHERE p.post_type = 'page' 
        AND p.post_parent != '0' 
        GROUP  BY post_parent
    )
");