当页面用作静态首页时,have_posts()返回false,但正常使用时为true

时间:2016-01-07 05:28:39

标签: php wordpress

我有一个可以作为独立页面工作的页面,但是一旦我将其设置为我的静态首页,has_posts()开始返回false并且页面将不会呈现。我现在已经花了几个小时了,我只是不确定还有什么要检查。

我在循环之前将以下代码添加到我的模板中并得到以下输出:

global $wp_query;
print_r($wp_query->query);

Array ( [post_type] => ajde_events [paged] => 1 [posts_per_page] => -1 [order] => asc [meta_key] => evcal_srow [orderby] => meta_value [event_type] => [event_type_2] => [event_type_3] => [event_type_4] => [event_type_5] => [_featured] => yes [meta_query] => Array ( [0] => Array ( [key] => _featured [value] => yes [compare] => = ) [1] => Array ( [key] => evcal_srow [value] => 1452125853 [compare] => >= ) ) )

继承人我的循环:

<?php get_template_part(THEME_LOOP."loop-start"); ?>
    <div class="ot-panel-block panel-light">
        <?php get_template_part(THEME_SINGLE."page-title"); ?>
        <?php get_template_part(THEME_SINGLE."image");?>
        <div <?php post_class("shortcode-content"); ?>>
            <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
                <?php the_content();?>
            <?php endwhile; else: ?>
                <p><?php  esc_html_e('Sorry, no posts matched your criteria.' , THEME_NAME ); ?></p>
            <?php endif; ?>
        </div>
    </div>
    <?php wp_reset_postdata(); ?>
    <?php if ( comments_open() ) : ?>
        <?php comments_template(); // Get comments.php template ?>
    <?php endif; ?>
<?php get_template_part(THEME_LOOP."loop-end"); ?>

编辑:值得注意的是,这曾经奏效。几天前它自己随意打破了。

编辑2:叹息,我只是将页面正文复制并粘贴到另一个页面,并将该页面设置为主页,该页面正常工作。我仍然想知道发生了什么,所以这不会再发生了。

0 个答案:

没有答案