Intereting Posts
Добавляет ли WordPress свои собственные классы в навигационные меню? Вторичная разбивка по страницам изменяет URL, а не содержимое Невозможно получить paginations на single.php для работы с моими пользовательскими типами сообщений Поддерживает ли WordPress ресурсы шаблонов / настраиваемые поля Попробуйте поймать mysqli IF Внутри функции для фильтра содержимого Пользовательский шаблон шаблона сообщения Вставить неработающее свойство Я не могу добавить ссылку и не могу добавлять изображения в сообщение. WordPress 3.5 + Foundation 5 не работает на IE9 Нет редактирования / удаления ссылок для пользовательского типа сообщений? Воспроизвести видео только на главной странице Пользовательский тип типа сообщения в коротком коде Несколько плагинов, взаимодействующих с меню Отображение списка архивов Изменение вывода настраиваемого цикла с использованием WP_query

Отображение части каждой дочерней страницы?

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

Сценарий: я использую меню перетаскивания со страницами, созданными в WordPress. Вложенность страниц создает меню.

Цель. Я хотел бы получить подстраницы родительской страницы. Когда пользователь переходит к родительской странице, я хотел бы, чтобы он возвращал ссылки на подстраницы с частью содержимого дочерней страницы. Например, я хотел бы отобразить <div> с header класса.

Отправная точка:

 $mypages = get_pages('child_of='.$post->ID.'&sort_column=post_date&sort_order=desc'); foreach($mypages as $page) { $content = $page->post_content; if(!$content) // Check for empty page continue; $content = apply_filters('the_content', $content); ?> <h2><a href="<?php echo get_page_link($page->ID) ?>"><?php echo $page->post_title ?></a></h2> <div class="entry"><?php echo $content ?></div> <?php } 

Пока функция возвращает the_content для всех страниц детей и внуков. Я хотел бы, чтобы он специально возвращал только 1 div с определенным классом с каждой дочерней страницы и игнорировал все страницы внуков .

Два предложения:

  1. Чтобы вывести свой «Loop» только для дочерних страниц, а не для Grandchild и т. Д., Добавьте условное.

например

 foreach ( $mypages as $page ) { if ( $page->post_parent == $post->ID ) { // Loop goes here } } 
  1. Чтобы вывести только выдержку из каждой дочерней страницы, включите поддержку выдержки для страниц, а затем выведите $page->post_excerpt .

В functions.php :

 add_post_type_support('page', 'excerpt'); 

Затем в вашем «Цикле»:

 foreach ( $mypages as $page ) { if ( $page->post_parent == $post->ID ) { $content = $page->post_excerpt; // changed post_content to post_excerpt if( ! $content ) // Check for empty page continue; $content = apply_filters( 'the_content', $content ); ?> <h2><a href="<?php echo get_page_link( $page->ID ) ?>"><?php echo $page->post_title ?></a></h2> <div class="entry"><?php echo $content ?></div> <?php } } 

И вот мое решение разбить его с помощью кнопки More (которая также доступна для страниц):

 $child_pages = get_pages( array( 'parent' => get_the_ID(), 'hierarchical' => false, 'sort_column' => 'post_date', 'sort_order' => 'desc', ) ); foreach ( $child_pages as $child_page ) { $short_content = $child_page->post_content; if ( preg_match( '/<!--more(.*?)?-->/', $short_content, $matches, PREG_OFFSET_CAPTURE ) ) { $short_content = substr( $short_content, 0, $matches[0][1] ); } echo apply_filters( 'the_content', $short_content ); }