WordPress 自动提取文章摘要插件:WP CN Excerpt

By | 最新修改:2024-08-17

1、前言

本文讲述 WordPress 的文章摘要提取插件 “WP CN Excerpt” 的安装和使用。

如果文章没有设置摘要,那么在前端页面的文章列表(如站点首页)的介绍中会显示很多的内容,很多不想展示的内容。

WordPress插件“WP CN Excerpt”正在为此而生,它可设置提取文章的第一段落为摘要,而显示在文章列表中。

而且,还可以设置摘要的文字长度,即最多可以显示多少个字。

还可以在显示在列表的摘要中移除指定的HTML标签。

这篇文章将主要介绍如何配置该插件。

插件主页:http://wordpress.org/plugins/cn-excerpt/

2、插件的平台环境兼容问题

该插件似乎不太兼容 PHP 8.2 和 WordPress v6.4.x 了,在此环境下运行会在日志输出错误信息。

2.1 插件代码使用已废弃函数出现的问题

因为插件代码中使用了 get_magic_quotes_gpc() 这个在 PHP 8 已经被废弃的函数。

根据其错误日志的输出显示,该插件在文件 plugins/cn-excerpt/wp-cn-excerpt.php 的第 367 行使用了前述的函数。

解决办法是编辑该文件,先把该行复制到下一行,然后注释该行,把新行修改成以下的样子:

修复因函数被废弃而出现的致命错误

点击图片查看大图

<?php
$ellipsis    = stripslashes($_POST[$this->name . '_ellipsis']);

保存文件退出,如果有 OPcache 类似的缓存,要先刷新一下缓存。

2.2 插件后台设置界面的前端问题

由于年久失修,若是“保留标签”里面没有勾选任何一个,则会出现以下的错误日志:

PHP message: PHP Warning:  Undefined array key "wp-cn-excerpt_allowed_tags"

解决方法是选择一个标签,那个标签可以是 span,因为此标签一般情况下没有显式的样式,当然也可选择其他的。

选择好“保存设置”,这样就好了。

完成后,同样的错误就不会再出现在错误日志文件了。

同时,在插件的配置页面中,“保留标签”(Retention tags)选项的“全选”和“全不选”两个按钮是失效的,需要一个个地勾选要从摘要移除的任何标签。

3、安装插件

请阅读安装、激活和缷载插件的教程

可在管理后台的插件在线安装页面搜索“WP CN Excerpt”,选择以下这个插件:

搜索安装WP-CN-Excerpt

点击图片查看大图

4、配置插件

  1. 第一个段落作为摘要:

    “First paragraph as summary”勾选就设定把文章的第一个段落作为摘要。

  2. 摘要长度:

    “Summary length”设置摘要的最大长度。

    貌似这个选项没起效果。

  3. 省略号:

    “Ellipsis”设置用于显示摘要后面的文字。

    摘要一般紧跟着省略号以及链接向文章页面的文字(下一个选项就设置这个文字)。

    这个选项也好像没有效果。

  4. “阅读更多”链接:

    “Read more link”设置“阅读全文”的链接。

    并且可选择在摘要末尾添加指向对应文章的全文链接。

  5. 排除标签:

    “Exclusion tags”从简短摘要中删除标签。

    因为这种情况下,如果有HTML标签,很有可能会破坏网页的布局,此外可能很难看,不符合视觉方面审美。

    故勾选之。

  6. 保留标签:

    “Retention tags”保留或者移除任意HTML标签。

    “Do not remove any tags”是不要移除任何标签,如果勾选它,文章列表的美观度可能会下降。

    若是不勾选,则可以在下面的标签列表中选择需要移除的标签,或者可以“全选”。

    像这样:

    WP-CN-Excerpt移除HTML标签

    点击图片查看大图

5、总结

它不用用户自己手动提取摘要,一句话概括就是——当前端页面获取文章列表时,列表中每个条目分别会被插件“WP CN Excerpt”按设定的规则自动提取其摘要,并将摘要显示到列表中。

除去兼容问题不说,作者对此插件的的评价是很高的,毕竟解决了非英语系字符的摘取问题。它核心代码中使用了 mb_strlen() 函数的同时指定了 utf-8 字符集,这意味着把本来三个字节的汉字将它看作一个字符。


程序知路

鉴于本人的相关知识储备以及能力有限,本博客的观点和描述如有错漏或是有考虑不周到的地方还请多多包涵,欢迎互相探讨,一起学习,共同进步。

本文章可以转载,但是需要说明来源出处!

本文使用的部分图片来源于网上,若是侵权,请与本文作者联系删除: admin@icxzl.com