Получить братьев и сестер из пользовательского типа сообщения - PullRequest
1 голос
/ 07 мая 2019

Я настроил пользовательский тип сообщения со структурой ниже:

  • Основной пост
    • Детский пост
      • Родственный пост

У меня есть два основных сообщения, которые называются "Vrouwen" en "Mannen". Когда я посещаю одно из этих основных сообщений, я хотел бы отображать только братьев и сестер.

Imзастрял в достижении этого.

Но тогда также отображаются «дети».Мне нужно как-то пройти на один уровень глубже.

Вся помощь приветствуется!

Я попробовал код ниже.

$mysibling        = $post->post_parent;
$mychild          = $post->ID;
$mychildmysibling = array( $mychild, $mysibling );

$args = array(
    'post_parent'    => $mychildmysibling,
    'post__not_in' => array( $post->ID ),
    'posts_per_page' => -1,
    'post_type'       => 'collectie'
);

$parent = new WP_Query( $args );
while ( $parent->have_posts() ) : $parent->the_post();

Но тогда также отображаются "дети",Мне нужно как-то пройти на один уровень глубже.

1 Ответ

0 голосов
/ 07 мая 2019

Прежде всего post_parent ожидает число, но вы устанавливаете массив. Во-вторых, вам в принципе нужно, чтобы он работал только для основных страниц? Поэтому запрос должен выглядеть так:

// find children for the main post
$children = get_children( array('post_parent' => $post->ID));

// check if the post has any children
if ( ! empty($children) ) {
   // get all posts where the parent is set as children to main post
   $args = array(
        'post_parent__in' => array_keys($children),
        'posts_per_page' => -1,
        'post_type' => 'collectie'
    );

   $siblings = new WP_Query( $args );

   if ( $siblings->have_posts() ) {
       while ( $siblings->have_posts() ) {
           $siblings->the_post();

           echo get_the_title();
       }
   }

   wp_reset_postdata();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...