Поддержка Проблемы и решения Как сделать вывод custom fields для дочерних страниц

  • Каталог продукции организован в виде страниц.
    Например главная — Двери фирмы 1
    её дочерние — двери из бука, двери из дуба и т.д.
    дочерняя дочерней, например, дверей из бука — тип Даша, тип Маша и т.д.

    У всех страниц есть custom fields:
    — видео rwmb_meta( ‘cat_price’)
    — видео rwmb_meta( ‘cat_video’)

    пользователь хочет, чтобы у всех дочерних и поддочерних старниц одной главной страницы значения этих полей были одинаковыми.
    Т.е задаешь 1 раз для фирмы дверей 1, и можешь видеть те же видео и у типа Даша, чтобы не вводить поп 100 раз одни и те же данные вручную

    =====================================

    Т.е как я пониманию нужно определить id главной страницы и для неё и её дочерних страниц выводит одни и те же rwmb_meta( ‘cat_price’),
    видео rwmb_meta( ‘cat_video’) в цикле.
    Никак не могу придумать, как организовать этот цикл.

    <?php $postid = get_the_ID(); echo $postid;  ?>
    <?php
    global $post;
    
    	if ( is_page($postid) && $post->post_parent ) {
    		$video =  ' <div class="video_pro"> '.rwmb_meta( 'cat_video',$postid).'</div>';
    		 echo $video;
    	}
    	else {
    		return false;
    	}
    ?>

    Этот цикл на главной выводит видео главной, на вложенных не выводит ничего.

Просмотр 1 ответа (всего 1)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Попробуйте так:

    global $post;
    
    if ( $post->post_parent ) {
    	$parent_id = end( get_post_ancestors( $post->ID ) );
    } else {
    	$parent_id = $post->ID;
    }
    
    echo '<div class="video_pro">' . rwmb_meta( 'cat_video', array(), $parent_id ) . '</div>';

    Обратите внимание, что у функции rwmb_meta() три параметра (ID записи — третий, а не второй).

Просмотр 1 ответа (всего 1)
  • Тема «Как сделать вывод custom fields для дочерних страниц» закрыта для новых ответов.