Intereting Posts
почтовый счет ошибочен при использовании той же таксономии для двух разных CPT Обратный порядок событий на домашней странице Проблема с свойством объекта $ post_id Использование Fullscreenr с блогом WordPress – странная ошибка Как я могу получить доступ к «описанию» пункта меню? Предотвратить перенаправление wp_login_form () из wp-admin при наличии ошибок Заказывать сообщения по ID в указанном порядке Проблема с сериализованными массивами в пользовательской мета Визуальный редактор WordPress испортил мои (вложенные) списки (и другие вещи) Пользовательский тип сообщения или просто использование настраиваемых полей Только одна категория за сообщение Два сайта WordPress, которые используют один и тот же контент Дата запроса в цепочке wordpress Соглашения об именах при использовании (PHP5) пространств имен? Как обрабатывать бесполезные атрибуты в коротких кодах?

Показать родительские и дочерние страницы с выделенным изображением и скрыть текущую страницу

Ok Я пытаюсь показать родительские и дочерние ссылки страниц с их признаками

У меня есть этот код, но проблема wis, когда на дочерней странице он не отображается, как я могу заставить его работать?

<?php $child_pages = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = ".$post->ID." AND post_type = 'page' ORDER BY menu_order", 'OBJECT'); if ( $child_pages ) : foreach ( $child_pages as $pageChild ) : setup_postdata( $pageChild ); ?> <div class="child-thumb"> <?php echo get_the_post_thumbnail($pageChild->ID, 'thumbnail'); ?> <a href="<?php echo get_permalink($pageChild->ID); ?>" rel="bookmark" title="<?php echo $pageChild->post_title; ?>"><?php echo $pageChild->post_title; ?></a> </div> <?php endforeach; endif; ?> 

Solutions Collecting From Web of "Показать родительские и дочерние страницы с выделенным изображением и скрыть текущую страницу"

При установке родительской переменной вам нужно лишь немного логики.

После этого лучше использовать стандартную функцию wordpress get_pages вместо использования необработанного запроса $wpdb .

Затем, как только вы используете setup_postdata для страниц, вы можете использовать стандартные шаблонные теги instad для echo свойств свойств исходной страницы.

Наконец, после цикла на страницах, мы должны сбросить данные post с помощью wp_reset_postdata , потому что мы изменили глобальную переменную $post , вызвав setup_postdata .

См. Встроенные комментарии для дальнейших объяснений:

 // if we are on a parent page set the $parent variable to current post id // otherwise set $parent variable to current post parent $parent = $post->post_parent == 0 ? $post->ID : $post->post_parent; // if we use current post parent as $paren, exclude the current page $exclude = $parent == $post->post_parent ? $post->ID : false; // get all the children $args = array( 'parent' => $parent, 'sort_column' => 'menu_order' ); if ( $exclude ) $args['exclude'] = $exclude; $child_pages = get_pages($args); // show only if there are children if ( ! empty($child_pages) ) { global $post; foreach ( $child_pages as $post ) { setup_postdata( $post ); ?> <div class="child-thumb"> <?php the_post_thumbnail('thumbnail'); ?> <a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a> </div> <?php } wp_reset_postdata(); }