在我们做主题开发的时候都知道:首页调用出来的文章是“整篇文章”,目前在网络上有很多自动摘要插件。
这节课,我们就来演示如何开发自动摘要插件。
首先我们来到网站的首页看效果(使用的是Twenty Seventeen主题):
这是自动摘要插件:plugin_2
下载插件后,把它放到本地的插件目录下。
安装好后,再看看网站前台的效果:
我们看到,首页的文章的字数就变少了,是一段摘要。
这就是这个插件的效果,下面我们来分析下:这个插件是如何开发出来的?
打开这个插件文件:
<?php
/*
Plugin Name: 自动摘要插件
Plugin URI: https://www.xuhss.com
Version:V1.01
Author: MrBang
Author URI:http:// www.www.xuhss.com
Description:这是我开发的第一个WP插件哦
*/
function mul_excerpt ($content) {
if(is_home()){
$myexcerpt = substr($content,0,255);
return utf8_trim($myexcerpt) . '... ';
}
}
add_filter('the_content', 'mul_excerpt');
?>
最上面这一段注释当然是插件的识别代码。介绍了插件的基本信息。
这个插件的原理非常的简单,这里用的是过滤器(Filter)的机制。
Filter的机制就是:取出某些数据之前,对这个数据进行加工处理。自动摘要功能肯定要使用Filter的机制。而Action机制是你在做完这个动作的时候,才会体现出效果。
我们要实现的是文章内容的摘要, 所以说,你在显示一篇文章内容之前,对文章内容进行处理,把它变成摘要,是应该在生成文章内容之前进行的,所以这里要使用的是Filter机制,这也是为什么会有2种机制存在的原因。你在做不同功能的时候需要用到不同的机制。
关于mul_excerpt这个函数,首先它传入一个参数,这个参数就是文章内容,然后判断:如果是首页,那么,把文章内容进行裁剪,裁剪内容前面的255个字符。然后赋值给一个新声明的变量。最终返回变量的结果。也就是摘要。如果不是首页或者是wordpress后台页面,那就返回文章的全部内容。
来到首页,当我们点击进入文章的时候,这时不在首页,就会显示文章的全部内容。
注意到,这里我们使用PHP自带的substr函数,它是PHP自带的,并不是wordpress的模板标签。
这个需要你对PHP语言有一个熟悉的认识。PHP语言自带的函数是可以直接在wordpress中使用的。
这个插件的开发原理还是很简单的,只是针对内容进行裁剪。这就是自动摘要插件的开发。
转载请注明:xuhss » wordpress插件开发02-首页文章自动摘要插件开发