WordPress区分置顶文章
很多博客都有自己的置顶文章,在默认情况下WP对置顶文章只是将它们的位置排在前面,除了位置差异外,跟其他文章是没有任何区别的。那我们怎样才能将它们区别开来呢?我这里有几种方法:
一、在WordPress中如何设置文章置顶?
相信很多朋友都还不知道WordPress本身就有置顶文章的功能,而苦苦地去寻找插件来实现置顶功能,真是浪费,我觉得有必要再说明一下怎么置顶文章。WordPress中设置文章置顶很简单,打开文章编辑页,右边栏的公布栏目即可设置,如图:

二、在标题处添加置顶字样
其实我们这篇文章要用到的函数也只有一个is_sticky(),这个函数用于判断该文章是否为置顶文章。置顶文章一般也只在首页显示,那现在就打开你的主题目录下的index.php,查找:the_title(); 然后将其改成:
1 | the_title(); if( is_sticky() ) echo ' <span style="color:red;">置顶</span>'; |
三、置顶文章不显示文章摘要
同样是打开index.php,查找:the_content 或 the_excerpt,给它添加一个判断,这样置顶文章就不显示摘要了,如:
1 | if( !is_sticky() ) the_content(....); |
或
1 | if( !is_sticky() ) the_excerpt(....); |
四、给置顶文章添加边框或背景等
这个方法不需要判断是否为置顶文章,我们只需给它添加一个CSS样式即可。打开主题目录下的index.php,找到每篇文章所在的div,一般的主题查找:class="post" 这个div就是每篇文章所在的div了,我们现在给个这个div添加一个类,如将 <div class="post"> 改成(可将以下代码中的class="post"去除):
1 | <div <?php post_class(); ?> class="post"> |
如果是置顶文章,会自动给这个div添加一个类.sticky,我们现在打开主题目录下的style.css,添加类属性:
1 2 3 4 | .sticky { background: #ff0000; border: 1px solid #ccc; } |
这样,置顶文章就有了背景和边框,是不是很难看呢?你可以根据需要修改这个类属性,获得你满意的效果。
本文版权归露兜博客所有,转载引用请完整注明以下信息:
本文作者:Ludou
本文标题:WordPress区分置顶文章
本文地址:http://www.ludou.org/wordpress-distinguish-sticky-posts.html
博主是个有心人!
博主也是很高手的了
<div <?php post_class(); ?> class="post">
class="post"多余
其实<?php post_class(); ?>这里就已经有.post类了,这里只是做个示范,方便理解和查找。
学习
谢谢楼主分享WP知识~
对于我而言,严重依赖模板,对于露兜而言,眼里只有php而看不到模板。
不同人看问题不一样吧
这篇很好,正好我要使用,谢谢
这个不错喔,可以在我网站改一下!!!还是站长强!!!
太人性话了 有时间用用
哎,对代码感冒!
那最好离代码远点
这个很实用哦
的确,博主是个有心人。
你文章底部的支持,反对功能是采用什么插件的,可以说说吗?
该插件已经发布,去这下载吧:http://www.ludou.org/wordpress-simple-vote.html
非常不错
不错,能不用插件的,尽量不用!
请问如果让置顶的(<a rel="nofollow" href="<?php the_permalink() ?>">阅读全文</a>)
这个去掉呢
<?php if( !is_sticky() ) { ?>
<a rel="nofollow" href="<?php the_permalink() ?>">阅读全文</a>
<?php } ?>
老大,我经常使用WLW发布文章,但是我要设置文章置顶时,总是还要登录后台设置,有些麻烦。我想,如果能在WLW发布文章的同时,添加一个 自定义域 直接实现置顶,不知道是否可行?最好是直接使用Wordpress默认的置顶定义。希望老大能帮帮忙,谢谢
没有办法
请问博主,置顶文章过的文章,在后边就不再显示了呢?因为我发现置顶的文章样式后边出现这篇文章样式还是存在,所以这篇文章就不想让他显示了。请教了!
不明白你在说什么。