首页    >    中文手册    >   模板标签-the_excerpt()

模板标签-the_excerpt()

说明

该标签显示当前文章的摘要,摘要之后带有[…]符号,而非“read more”链接。如果用户没有为文章提供摘要(在文章编辑界面下方的摘要字段中填写摘要),WordPress会自动截取文章的前55个单词作为摘要。在后面这种情况下,摘要中的HTML标签和图形都会被剥离。该标签必须在WordPress主循环(loop)内。

注意:若当前文章是一个附件,例如在attachment.php和image.php模板循环中,那么显示该附件的说明文字。说明文字不包含摘要的[…]标记。

the_excerpt() VS. the_content()

有时只使用the_content函数更具实用意义。根据有否使用 <!–more–> 标签,the_content()函数将决定所显示的内容。 <!–more–> 标签将文章/页面分割为两部分,标签前的内容用以显示在网页上。浏览单篇文章/页面时, <!–more–>会被忽略。

用法

<?php the_excerpt(); ?> 

参数

该标签无参数。

示例

默认用法

显示文章摘要。用在非单篇或非固定链接的文章中,代替the_content(),强制摘要显示在循环内。

<?php the_excerpt(); ?>  


与条件标签共同使用

在存档页面(由is_archive()函数判断)或分类页面(由is_category() 函数判断)上用the_excerpt()代替the_content()标签。

以下两个示例都可在WP 1.5及更高版本中运行。

<?php if ( is_category() || is_archive() ) {
the_excerpt();
} else {
the_content();
} ?>

而对WP 1.5之前的版本,只能使用下面这个示例:

<?php if ( $cat || $m ) {
the_excerpt();
} else {
the_content();
} ?>
 

用过滤器控制摘要长度

默认情况下,摘要的长度为55个单词。要用 excerpt_length过滤器更改摘要的长度,可在主题的functions.php文件中添加以下代码:

function new_excerpt_length($length) {
return 20;
}
add_filter('excerpt_length', 'new_excerpt_length');
 

用过滤器删除[…]字符串

在WP 2.9及更高版本中

默认情况下,摘要之后(more字符串之后)的文章内容显示为“[…]”。要用 excerpt_more过滤器删除摘要more字符串,请在主题的functions.php文件中添加以下代码:

function new_excerpt_more($more) {
return '[…..]';
}
add_filter('excerpt_more', 'new_excerpt_more');

在WP 2.8及之前的版本中

function new_excerpt_more($excerpt) {
return str_replace('[…]', '…', $excerpt);
}
add_filter('wp_trim_excerpt', 'new_excerpt_more');

注释

历史记录

  • 始见于WordPress 0.71版本

源文件

the_excerpt()位于wp-includes/post-template.php

分类:中文手册

* 版权声明:作者WordPress啦! 转载请注明出处。