0

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?

0

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);
?>
  • Is it possible to make this without hardcoding slug in WP_Query? – inferusvv Oct 30 '17 at 10:15
  • NO. it is not possible. it must required Custom post type name. – Shital Marakana Oct 30 '17 at 10:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.