вывод произвольных полей подстраниц на родительской странице
-
Подскажите пожалуйста как вывести данные из произвольных полей дочерних страниц на их родительской странице.
-
Получить список дочерних функцией get_pages(), используя параметр child_of или parent, и в цикле из каждой вынуть нужные метаданные.
Это конечно же хорошо, но не получается у меня, вот и прошу помощи.
Код сейчас такой:<div class="main border"> <section id="gibdd-wrapper"> <div id="gibdd-wrapper-header"> <div class="gibdd-wrapper-header"> <header> <h1><a href="<?php the_permalink(358); ?>"><?php echo get_the_title(358); ?></a></h1> </header><!--. Header --> <div class="gibdd-logo-wrapper"> <div class="gibdd-logo" style="/*width: 150px;*/"> <img src="<?php echo get_template_directory_uri();?>/image/gibdd/gibdd.png" alt=""> </div><!--. Header logo img --> <div class="gibdd-logo-name"> <ul> <li>Госавтоинспекция</li> <li>г. Москва</li> </ul> </div><!--. Header logo name --> </div><!--. Header logo img + name --> </div><!--. gibdd-wrapper-header --> <div class="gibdd-preview"> <div class="gibdd-preview"> <ul> <?php $mypages = get_pages( array( 'child_of' => $post->ID, 'sort_order' => 'ASC', //'meta_key' => '', //'meta_value ' => '', ) ); foreach( $mypages as $page ) { // $content = $page->post_content; // публикация контента всей страницы $content = $page->post_excerpt; // публикация отрывка (цитата) страницы // пропустим страницу без контента //if ( ! $content ) continue; // если $content = $page->post_excerpt; не содержит отрывка, то такую запись пропустит и она не будет выведена $content = apply_filters( 'the_content', $content ); ?> <li class="gp-link"> <h2><a href="<?php echo get_page_link( $page->ID ); ?>"><?php echo $page->post_title; ?></a></h2> <div class="gibdd-adress"> <?php echo $content; ?> </div><!--. gibdd-adress --> <div> <div style="min-height: 20px; background-color: green;"> <?php get_post_meta(); // ни как не понимаю что тут и как нужно прописать ?> </div> </div><!--. gp-link-tag --> <?php };?> </li><!--. gp-link --> </ul> </div><!--. gibdd-preview-wrapper --> </div><!--. gibdd-wrapper-header --> </section><!--. gibdd-wrapper -->
<?php get_post_meta(); // ни как не понимаю что тут и как нужно прописать ?>
<?php echo get_post_meta($page->ID, 'имя_поля', true); ?>
Матчасть https://developer.wordpress.org/reference/functions/get_post_meta/
<?php echo get_post_meta($page->ID, 'имя_поля', true); ?>
Пробовал разные варианты включая этот, но он не цепляет произвольные поля подстраниц…
При вышеуказанной конструкции он выводит номер ID родительской страницы, т.е. той страницы на которой в текущий момент, а произвольные поля именно подстраниц не выводит.
Мл…ять я уже голову сломал и ни как не могу понять что и как сделать.есть и ещё одна проблемка, так сказать вылезла сама по себе )))
В части:foreach( $mypages as $page ) { // $content = $page->post_content; // публикация контента всей страницы $content = $page->post_excerpt; // публикация отрывка (цитата) страницы // пропустим страницу без контента //if ( ! $content ) continue; // если $content = $page->post_excerpt; не содержит отрывка, то такую запись пропустит и она не будет выведена $content = apply_filters( 'the_content', $content );
При: $content = $page->post_excerpt; — будет вывод именно тех данных, что были заполнены в ручную в «отрывок (цитата) страницы».
При: $content = $page->post_content; — выводит весь контент страницы.
И пока не могу понять почему не выводит куском текста по умолчанию…Согласно
Матчасть https://developer.wordpress.org/reference/functions/get_post_meta/
я так понимаю, что $post_id — обязательное условие, которое нужно указать.
Это всё прекрасно, но не могу понять как сделать так, чтобы не указывать конкретно $post_id, т.к. за ранее я его не знаю.
Как написать код, чтобы он отвечал своей цели?
Цель такая:
1) сделать родительскую страницу;
2) сделать дочернюю страницу (скажем штук 20);
3) прописать два-три мета ключа в произвольном поле, которые будут по необходимости вводиться на дочерних страницах;
4) два-три мета ключа в произвольном поле должны высвечиваться в виде ссылок под каждой дочерней странице на родительской странице с целью возможности вывода отсортированных дочерних страниц по конкретному мета ключу.
- Тема «вывод произвольных полей подстраниц на родительской странице» закрыта для новых ответов.