列出未使用特定模板的子页面ID

时间:2016-11-19 19:17:14

标签: php wordpress

是否可以获取所有未使用某个模板的wordpress子页面ID的数组?

我知道我可以通过以下方式获取模板:

'meta_key' => '_wp_page_template',
'meta_value' => 'template.php'

我希望我可以使用get_pages,但不确定如何将查询放在一起。

1 个答案:

答案 0 :(得分:0)

这样可行,但是有更好的方法吗?

$args = array(
    'post_parent' => $parent_ID,
    'post_type'   => 'page', 
    'numberposts' => -1,
    'post_status' => 'publish' 
);
$children = get_children( $args );
$exclude_children = null;
foreach($children as $child) {
    $metadata = get_post_meta($child->ID);
    if($metadata['_wp_page_template'][0] == 'template.php') {
        $args = array(
            'post_parent' => $child->ID,
            'post_type'   => 'page', 
            'numberposts' => -1,
            'post_status' => 'publish' 
        );
        $exclude_array = get_children( $args );
        foreach($exclude_array as $exclude) {
            $exclude_children .= $exclude->ID.',';
        }
    }
}