Wordpress:is_front_page在首页返回false

时间:2014-05-06 10:07:32

标签: wordpress footer

我对Wordpress有一个非常奇怪的问题,我不知道发生了什么。

我有一个名为front-page.php的静态主页,其中包含首页内容,并显示在首页上。

我还有一个新闻页面,据我所知使用home.php,而且一切似乎都正常。

问题在于我的footer.php。我在那里放了一个条件声明,以确定我是在首页还是新闻页面。

<?php if( is_front_page() ): ?>
// do something
<?php elseif( is_home() ): ?>
// do something else
<?php else; ?>
// do something else
<?php endif; ?>

它做了什么,我不知道为什么在首页时,它会忽略if( is_front_page() )因为它因某种原因返回false然后经过elseif( is_home() )因为返回true出于某种原因。

设置&gt;下阅读我已将首页设置为显示静态页面,帖子页面为我的新闻页面。

外观&gt;下自定义我也做了同样的事情。

我只是不明白为什么它会显示我期望的内容而不是页脚

更新

我发现了导致问题的原因。代码显示静态首页上的最新4个帖​​子。我已经对它进行了评论,但是我如何才能显示它们并且仍然让首页和新页面使用不同的页脚?

<?php get_header(); ?>

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

    <?php the_content(); ?>

<?php endwhile; else: ?>
    <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
<div class="container">
<div class="row">
<div class="span12 span-home-news">
<div class="latest-news">
<h1>Latest News</h1>
<?php
    /*$cat_name = "news";
    $catID = get_cat_ID($cat_name);
    query_posts('showposts=4&cat='.$catID);
    $counter = 0;
    while(have_posts()): the_post(); ?>
    <div class="display-posts-listing">
        <?php echo get_the_post_thumbnail($post_id, 'thumbnail', array('class' => 'alignleft')); ?>
        <h2><a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a></h2>
        <p><strong><?php echo get_the_date( 'j F Y' ); ?></strong></p>
        <p><?php echo excerpt(20); ?></p>
        <p><a class="global-blue-button" href="<?php echo get_permalink(); ?>"><span>Read more...</span></a></p>
    </div>
    <?php $counter++; if($counter%2 == 0): ?>
    <div style="clear: both;"></div>
    <?php endif; endwhile;  */?>
</div>
</div>
</div>
</div>
<?php get_footer(); ?>
<?php wp_footer(); ?>

1 个答案:

答案 0 :(得分:2)

尝试在循环后运行wp_reset_query()endwhile;之后)。

wp_reset_query()重置查询数据并恢复原始查询。运行wp_reset_query()后,Wordpress会识别出您在主页上。