Custom post type loop without children

I've created custom post type "Services" with 'hierarchical' = true,. My loop is simple:

    while (have_posts()) {
      the_post();
      get_template_part('content', get_post_type());
    }

In admin I have next structure:

  • Service 1
  • Service 2
    • Sub-service

The problem is that on Services page I have all of them. But I want only 1 level posts without children posts. And children posts should be inside parent post. How can I do that?

Topic children loop custom-post-types Wordpress

Category Web


please add your Custom post type name here 'post_type' => 'Services', // required

<?php
    $args=array(
                'post_parent' => 0, // required
                'post_type' => 'Services', // required
                'orderby' => 'menu_order', // to display according to hierarchy
                'order' => 'ASC', // to display according to hierarchy
                'posts_per_page' => -1, // to display all because default is 10
    );
    $query = null;
    $query = new WP_Query( $args ); 

    if ( $query->have_posts() ) {
        while($query->have_posts()) {
            $query->the_post();
            $post_id=get_the_ID();
            $post=get_post($post_id,'ARRAY_A');                
            echo $post['ID'].': '.$post['post_title'].'<br>';
        }            
    }
 wp_reset_query($query);
?>

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.