WordPress:使用 get_pages() 排除父页面
WordPress: Exclude a parent page with get_pages()
我有以下代码:
<?php $pages = get_pages('exclude=10'); ?>
<?php foreach ( $pages as $page ) : ?>
<?php echo $page->post_title; ?>
<?php endforeach; ?>
我想排除 页面 ID 10,但我仍然想包含 它的子页面。
但是,如果我尝试将它们包含在 include
参数中,它们仍然不会出现。
有几种默认方式wp query to get child pages of current page。但我更喜欢这个。您可以使用 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
)
");
我有以下代码:
<?php $pages = get_pages('exclude=10'); ?>
<?php foreach ( $pages as $page ) : ?>
<?php echo $page->post_title; ?>
<?php endforeach; ?>
我想排除 页面 ID 10,但我仍然想包含 它的子页面。
但是,如果我尝试将它们包含在 include
参数中,它们仍然不会出现。
有几种默认方式wp query to get child pages of current page。但我更喜欢这个。您可以使用 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
)
");