wordpress,仅在首页第一页显示特定内容的方法

有时候我们想实现某些内容只在首页出现,而不在其他页面中爆露,这时我们可以用 is_home() 来做判断,不过这时候还是不够完美,因为单用这个函数,内容会出现在首页第一页,第二页……第N页这些首页分页中,如何真正做到只出现在首页第一页呢?

其实方法很简单,在后面再加多一个is_paged()条件函数就可以了,比如我想让友情链接只出现在首页的第一页,可以写成如下形式:

<?php if(is_home()&&!is_paged()) { ?> 
    <h4>友情链接</h4> 
    <ul class="flink"> 
        <?php get_links('', '<li>', '</li>', ' ', FALSE, 'id', FALSEFALSE, -1, FALSE); ?> 
    </ul> 
<?php } ?>

我们还可以把 is_home 换成is_category() 实现只在分类第一页中显示,换成 is_tag()实现只在标签的第一页中显示……其他的自己换了,不一一列举。

在这里额外补充一点,如果用了query_post()函数,会造成is_home()等的判断失效,解决的方法是在用了query_post()后再加一个wp_reset_query(),如下:

<?php query_posts('showposts=5&orderby=date'); ?> 
<?php while (have_posts()) : the_post(); ?> 
...... 
<?php endwhile; ?> 
<?php wp_reset_query(); ?>

 

posted on 2013-08-17 23:33  挑推  阅读(847)  评论(0编辑  收藏  举报

导航