程序员人生 网站导航

玩转 WordPress 的“more”标签

栏目:WordPress时间:2013-10-14 15:44:52

只要熟悉WordPress的用户都应该知道<!--more-->标签。在撰写文章时,你可以在文章的正文中插入<!--more--> 标签来创建文章摘要。这样文章里默认就会显示 “more…” 链接,读者点击它就可以阅读整篇文章。使用more标签时,在所有的非单篇文章浏览形式(如分类、标签和存档)下只会显示文章摘要,而只有在单片文章浏览形式下才会显示整篇文章内容。接下来我们就来看看下面的例子。

如何使用more标签
假设你有一篇文章内容如下:

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio.
Quisque volutpat mattis eros. Nullam malesuada erat ut turpis mattis.
Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.

<!-more->

Phasellus ultrices nulla quis nibh. Quisque a lectus. Donec consectetuer
ligula vulputate sem tristique cursus. Nam nulla quam, gravida non dolor,
commodo a semper suscipit, sodales sit amet, nisi adipiscing.

那么在非单篇文章浏览形式下,你的文章将会这样显示:

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio.
Quisque volutpat mattis eros. Nullam malesuada erat ut turpis mattis.
Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.
more…

而浏览单篇文章时,显示的内容如下:

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio.
Quisque volutpat mattis eros. Nullam malesuada erat ut turpis mattis.
Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.
Phasellus ultrices nulla quis nibh. Quisque a lectus. Donec consectetuer
ligula vulputate sem tristique cursus. Nam nulla quam, gravida non dolor,
commodo a semper suscipit, sodales sit amet, nisi adipiscing.

全文显示了这篇文章并且没有more链接。

为何要使用more标签?
主要是因为摘要显示很实用,你可以在主页上显示多篇文章摘要,这样读者不需要往下拉动页面太多就可以快速地浏览所有文章的大概内容。如果你的摘要吸引了读者的注意力,他们就会想接着阅读整篇文章,那么只要点击“more”标签创建的链接就可以了。因此,这里就给大家介绍几种自定义more链接的文本内容的方法。

一篇一篇地自定义more标签文本
想自行定义你的more链接文本,这里有两个好方法。最简单的一个就是,在文章内容插入more标签时自行加入自定义的文本内容。例如,需要将默认的more改成 “keep reading this post”,你就可以将平常用的<!--more-->标签替换为:

<!--more Keep reading this post--> 使用这种方法,你可以为WordPress 中任何一篇文章的more标签设定独特的文本内容。这是WordPress一个非常讨人喜欢的地方,不过可能很多人还不知道。所以更多的人还是使用下面的方法来自定义每篇文章的more标签文本:

<?php $custom_more = get_post_meta($post->ID, "custom_more_text", true);
if(!$custom_more) { $custom_more = "Keep reading this post &raquo;"; }
the_content($custom_more); ?> 这段代码通过寻找自定义的一个叫做 “custom_more_text” 的字段,并将它的值显示为该文章的自定义more标签文本。

统一定制more标签文本
估计有人会嫌一篇篇地修改more文本的方式麻烦,其实也可以为整个网站的所有文章一起设定more标签文本。最简单常见的方法就是在the_content() 模板标签里添加自定义文本:

<?php the_content('Keep reading this post'); ?> 你甚至可以根据自己的需要给显示效果设定一个格式:

<?php the_content("<span class="custom-more">Keep reading this post</span>"); ?> 我相信大多数WordPress内行人都对这个比较熟悉,也应该经常使用这种方法。不过还有一种方法也可以达到同样的效果,它是通过functions.php文件来实现的。WordPress 2.8以后,我们可以使用新的filter hook来过滤整个

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐