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
)
");