查看: 51|回覆: 0

[教程] 更改WordPress自动生成摘要的方式

[複製鏈接]

2

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2009-6-27
發表於 2023-8-21 00:00:00 | 顯示全部樓層 |閲讀模式

首先列表会变得很臃肿,失去了列表的本身作用——方便用户寻找真正想要看的帖子,其次,在搜索引擎抓取页面的时候,把那些列表页面也抓了过去,但随着帖子的不断增多,列表的更新远快于搜索引擎缓存的更新,用户使用搜索引擎进来以后,在列表中就很难找到目标了。 

这样在列表中只显示摘要的优势就体现出来了,首先页面很清爽,用户可以清楚的找到要查看的目标,然后搜索引擎抓取内容的时候,会更多的关注页面的 Permalink,用户也就会通过搜索直达目标帖子,方便了用户。 

打开 WordPress 的wp-includes\functions-formatting.php,找到其中的 function wp_trim_excerpt(about line 741),将如下代码 

复制代码

代码如下:


$excerpt_length = 55; 
$words = explode(' ', $text, $excerpt_length + 1); 
if (count($words) > $excerpt_length) { 
array_pop($words); 
array_push($words, '[...]'); 
$text = implode(' ', $words); 


更改为 

复制代码

代码如下:


$excerpt_length = 3; 
$words = explode("\n", $text, $excerpt_length + 1); 
if (count($words) > $excerpt_length) { 
array_pop($words); 
array_push($words, '<p />......<a href="' . get_permalink($post->ID) . '">[阅读全文]</a>'); 
$text = implode("\n", $words); 


就可以了,WordPress 默认的生成摘要是用空格来判断的,就是取到55个空格结束,这适用于西方采用空格作为词间隔的语言,但中文是不分词的,所以我使用读取3行的方式,取前3行,对哪种语言都是适用的。 

Update @ 2007-02-09 
升级到 WordPress 2.1以后,这个修改的地点变为wp-includes/formatting.php,第780行左右。 

Update @ 2007-02-26 
编写了一个插件,不用再手工修改代码了。 

Update @ 2009-08-25 
Betty全面总结了几种中文摘要方式,形成了一个综合的适合中文的摘要插件,并且提交到了WordPress 官网,带有简单的配置后台,很不错。

回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部