PHP / WordPress: get_pages не работает должным образом

#php #wordpress

#php #wordpress

Вопрос:

Вот мой код:

     <?php 
    $args = array(
        'child_of' => 15,
        'sort_order' => 'DESC',
        'sort_column' => 'post_date',
        'post_type' => 'page',
        'post_status' => 'publish' ); 
    $events = get_pages( $args );
    if (have_posts()) :
    while (have_posts()) : the_post();
    foreach ( $events as $page ) : setup_postdata($page); ?>
        <?php if (has_post_thumbnail( $post->ID ) ); ?>
        <?php $date = get_the_date( $d ); ?>
            <div id="post">
                <div class="post_excerpt">
                    <a href="<?php echo get_page_link( $post->ID ); ?>"><h2><?php the_title(); ?> / <?php echo $date; ?></h2></a><?php echo the_ID($post->ID); ?>
                    <p><?php the_excerpt(); ?></p>
                </div>
                <div class="post_thumb">
                    <a href="<?php echo get_page_link( $post->ID ); ?>"><?php the_post_thumbnail(); ?></a>
                </div>
                <div class="post_line"></div>
            </div>
    <?php 
    endforeach;
    endwhile;
    endif;
    wp_reset_postdata(); 
    ?>
  

Он должен отображать все дочерние страницы страницы «События», но вместо этого он показывает себя несколько раз. Я просматривал код снова и снова, пробуя разные настройки, чтобы заставить его работать, но пока ничего не получилось. Любая помощь была бы очень признательна!

Ответ №1:

Конечно, как только я публикую это, я понимаю это… Мне пришлось изменить это: foreach ( $events as $page) : setup_postdata($ страница); ?> на это: foreach ( $events as $ post): setup_postdata($ post); ?>