WordPress网站的分类列表默认是不显示置顶文章的,但是有时候我们希望一些文章长期被关注,于是想通过在WordPress后台设置置顶来实现.
以便访客打开该分类时能关注到管理员推荐的内容,如果分类列表显示网站所有的置顶文章,显然影响用户体验,因此只显示该分类的置顶推荐文章会更合适。
在当前WordPress主题的分类列表模板archive.php中添加代码:
<?php query_posts(array( "category__in" => array(get_query_var("cat")), "post__in" => get_option("sticky_posts") ) ); while(have_posts()) : the_post(); ?> <h2>【置顶】<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2> <?php endwhile; wp_reset_query(); ?>
上面这段代码是调用置顶的文章,那么接下来就是正常的循环文章了.
正常的循环文章需要排除已经设置为置顶的文章:避免重复显示
<?php while(have_posts()) : the_post(); ?> <?php if(!is_sticky()){?> <h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2> <?php the_excerpt(); ?> <?php } endwhile;?>
其实就是在主循环中添加if(!is_sticky())来判断,表示如果不是置顶文章则显示。
然后上传覆盖 archive.php
相关文章:
WordPress主题开发教程:文章自定义排序如按浏览阅读点击量排序
WordPress主题开发教程:侧边栏调用网站中浏览量多文章列表
WordPress主题开发教程:WP-Postviews调用网站热门文章浏览点击量排名文章列表
WordPress主题开发教程:网站首页调用刚发布的新文章列表