似乎无法在 wordpress 页面模板中结束循环

Can't seem to end loop in wordpress page template

完全公开,我是一个 PHP 菜鸟。 我在尝试为我的 Wordpress 网站构建的页面模板时遇到问题。想法是显示今天的每个 post,并排除所有其他。

有人帮我构建了一些代码,但我遇到了一个新问题 - 只显示了今天最旧的 post!我用间隔几分钟的三个 post 进行了测试,只有第一个出现了。

感谢任何帮助。

完整代码如下。

<?php
/**
 * Template Name: Home Page
 * The template for displaying all of today's posts on home page.
 *
 * This is the template that displays only today's posts.
 * Please note that this is the WordPress construct of pages and that
 * other "pages" on your WordPress site will use a different template.
 *
 * @package WordPress
 * @subpackage Twenty_Fifteen
 * @since Twenty Fifteen 1.0
 */

get_header(); ?>

<?php
$today = getdate();
$args = array(
    'date_query' => array(
        array(
            'year' => $today['year'],
            'month' => $today['mon'],
            'day' => $today['mday'],
        ),
    ),
);
$query = new WP_Query( $args );
?>


<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">

    <?php
    // Start the loop.
    if ($query->have_posts() )
        echo'<ul>';
        while ( $query->have_posts() ) {
            $query->the_post();
        }
        echo '</ul>';

        // Include the page content template.
        get_template_part( 'content', 'page' );

            // If comments are open or we have at least one comment, load up the comment template.
            if ( comments_open() || get_comments_number() ) :
                comments_template();

        /* Restore Post Data */
        wp_reset_postdata();
        else : // no posts found. 
        ;

    endif ;
    ?>

    </main><!-- .site-main -->
</div><!-- .content-area -->

<?php get_footer(); ?>
$args = array(
    'date_query' => array(
        array(
            'year' => $today['year'],
            'month' => $today['mon'],
            'day' => $today['mday'],
        ),
    ),
    'posts_per_page' => -1
);
$query = new WP_Query( $args );

我终于搞清楚了!结果是

echo '<li>' . get_template_part( 'content', 'page' ) . '</li>';

应该在 while 循环内。

这就是为什么它只显示第一个的原因。没有分页问题。

在那之后,唯一的问题是链接由于某种原因无法正常工作 - 所以我摆脱了 get_template_part 函数中对 'page' 的调用。现在一切正常!

无论如何,谢谢大家的帮助!