wordpress,仅在首页第一页显示特定内容的方法
有时候我们想实现某些内容只在首页出现,而不在其他页面中爆露,这时我们可以用 is_home() 来做判断,不过这时候还是不够完美,因为单用这个函数,内容会出现在首页第一页,第二页……第N页这些首页分页中,如何真正做到只出现在首页第一页呢?
其实方法很简单,在后面再加多一个is_paged()条件函数就可以了,比如我想让友情链接只出现在首页的第一页,可以写成如下形式:
<?php if(is_home()&&!is_paged()) { ?> <h4>友情链接</h4> <ul class="flink"> <?php get_links('', '<li>', '</li>', ' ', FALSE, 'id', FALSE, FALSE, -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(); ?>