親ページがある投稿のIDのリストを取得する

親ページのリスト化とか子ページのリスト化とか、いろいろやり方はありますが、今回は親ページがある投稿を取得してそのIDを配列に収める方法です。

$args = array(
    'post_type' => 'custom_post_type_name',
    'post_parent__not_in' => array(0),  // 親ページがある投稿のみ取得
    'posts_per_page' => -1,  // すべての投稿を取得
    'fields' => 'ids'  // IDのみを返す
);
 
// WP_Query を用いてクエリを作成
$query = new WP_Query($args);
 
// 投稿IDの配列を取得
$child_ids = $query->posts;
 
// クエリとポストデータをリセット
wp_reset_postdata();
wp_reset_query();

簡単ではありますが、たまたまこのコードが必要になる機会があったので皆さんにも共有します。