说明
该标签显示当前文章的摘要,摘要之后带有[…]符号,而非“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');
注释
- 用法:get_the_excerpt
- 用法:为'the_excerpt'调用apply_filters
历史记录
- 始见于WordPress 0.71版本
源文件
the_excerpt()位于wp-includes/post-template.php
分类:中文手册