WordPress中位于首页的文章,默认是全文显示的。文章比较长的时候,会影响到首页其他文章的有效展示,所以我们一般会选择在首页上只显示摘要。想要达到仅显示摘要的效果,只需要在正文中合适的部位插入一个<!–more–>标签就可以了。该标签会将文章分为两部分,仅截取其自身位置之前的内容展示在首页上,并在被截取内容之后添加一个“继续阅读”的链接,用户点击链接即可进入全文展示页。
<!–more–>标签的使用
WordPress的编辑器中自带了这个功能,在可视化编辑模式下,将光标移动至需要分隔部位,点击“插入更多分隔标签”,也可以使用快捷键Alt+Shift+T;而在Html编辑模式下这个功能按钮更为直观,按钮名为“more”,点击即生成标签。
<!–more–>标签的文本
有时候我们不希望网页仅仅千篇一律的显示“继续阅读”字样。只需要在Html编辑模式下将个性化的文字置于字母more之后,就可以方便的更改摘要链接的文本:
<!--more 欲知后事请点这里-->
<!–more–>标签的批量修改
有时我们会不满足于一篇篇地修改more文本的低下效率,当然也可以为整个网站的所有文章一起设定more标签文本。比较常见的方法就是在the_content() 模板标签里添加自定义文本:
<!--?php the_content('欲知后事请点这里'); ?-->
WordPress 2.8以后,我们还可以使用新的filter hook来过滤整个网站的more标签文本,进入主题的functions.php文件,将以下代码复制到文件尾部保存,这里需要多说一句,这种方法的好处是对主题模板文件没有进行任何修改,但是由于functions.php页对于语法错误相当敏感,而且一旦出错很容易造成整个站点的瘫痪,所以修改之前,需要确保自己能通过网页之外的方式访问后台,并且拥有能够修改该文件的权限,一旦发生网站无法访问的故障,仅需要访问functions.php,将刚才添加的错误代码删除后保存即可:
function my_more_link($more_link, $more_link_text) {
return str_replace($more_link_text, '欲知后事请点这里', $more_link);
}
add_filter('the_content_more_link', 'my_more_link', 10, 2);
<!–more–>标签的链接问题
点击more标签的链接进入文章对比点击文章标题进入文章,文章的链接地址后面会多出一个类似于“#more-123”的这样的字符串。同一篇文章出现两个地址这个不能忍,想去除这串字符串的话,可以在functions.php文件中加入如下代码:
/**
* remove_more_link
*/
function remove_more_link( $link ) {
$link = preg_replace( '|#more-[0-9]+|', '', $link );
return $link;
}
add_filter( 'the_content_more_link', 'remove_more_link' );