WordPress WP_Query - 仅查询父页面

时间:2011-03-24 04:12:33

标签: wordpress

我使用WP_Query查询自定义帖子类型的帖子。此自定义帖子类型具有父页面和子页面。我试图拉第一个父页面。我该怎么做?

3 个答案:

答案 0 :(得分:22)

$parent_only_query = new WP_Query(array(
    'post_type' => 'my-custom-post-type',
    'post_parent' => 0
));

while ($parent_only_query->have_posts()){
    $parent_only_query->the_post();
    // etc...
}

wp_reset_query(); // if you're not in your main loop! otherwise you can skip this

答案 1 :(得分:2)

您可以通过查询数据库来实现此功能;

<?php

$parent_posts= $wpdb->get_results( "SELECT ID, post_title FROM $wpdb->posts WHERE post_parent=0 AND post_type='page' AND post_status='publish' ORDER BY menu_order ASC" );

foreach($parent_posts as $record){ ?>

    <a href="<?php echo get_permalink($record->ID) ?>" >
        <h1><?php echo $record->post_title; ?></h1>
    </a>
    <p><?php echo $record->post_title;?></p>

<?php } ?>

注意: - $wpdb是全局变量。

答案 2 :(得分:1)

运行查询并循环浏览后,您可以使用$post->post_parent访问每个帖子的父级ID,如果不是null,则可以使用{{1}获取该帖子内容}}:

get_post()