wordpress外掛開發02-首頁文章自動摘要外掛開發
在我們做主題開發的時候都知道:首頁呼叫出來的文章是“整篇文章”,目前在網路上有很多自動摘要外掛。
這節課,我們就來演示如何開發自動摘要外掛。
首先我們來到網站的首頁看效果(使用的是Twenty Seventeen主題):
會員觀看
這是自動摘要外掛:plugin_2
下載外掛後,把它放到本地的外掛目錄下。
安裝好後,再看看網站前臺的效果:
會員觀看
我們看到,首頁的文章的字數就變少了,是一段摘要。
這就是這個外掛的效果,下面我們來分析下:這個外掛是如何開發出來的?
開啟這個外掛檔案:
<?php
/*
Plugin Name: 自動摘要外掛
Plugin URI: http://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中使用的。
這個外掛的開發原理還是很簡單的,只是針對內容進行裁剪。這就是自動摘要外掛的開發。
相關文章
- WordPress外掛開發例項教程 - 版權外掛
- wordpress外掛開發03-簡單的all in one seo 外掛開發
- wordpress外掛開發01-原理講解
- Flutter外掛開發Flutter
- Mybatis外掛開發MyBatis
- Webstorm 外掛開發WebORM
- flutter 外掛開發Flutter
- 開發Rhino外掛
- chrome 外掛開發Chrome
- Flutter外掛開發之APK自動安裝FlutterAPK
- apisix~lua外掛開發與外掛註冊API
- InDesign外掛--常規功能開發--奇偶頁物件分別移動--js指令碼開發--ID外掛物件JS指令碼
- babel 外掛開發案例Babel
- Maven外掛開發教程Maven
- Chrome外掛開發教程Chrome
- Stylus外掛開發教程
- chrome外掛開發文件Chrome
- babel外掛開發心得Babel
- Vue-外掛開發Vue
- jQuery外掛開發模式jQuery模式
- jquery外掛開發方法jQuery
- dlopen開發外掛庫
- Flutter開發之Flutter外掛開發Flutter
- WordPress 外掛
- InDesign外掛--常規功能開發--對齊到頁面--js指令碼開發--ID外掛JS指令碼
- ZBlog外掛開發檔案結構(外掛)
- InDesign外掛--常規功能開發--移動選擇專案到指定頁--js指令碼開發--ID外掛JS指令碼
- WordPress入門02-安裝WordPress外掛的幾種方法
- Flutter外掛開發《iOS原生模組開發》FlutteriOS
- 掌握jQuery外掛開發,這篇文章就夠了jQuery
- eslint外掛開發教程EsLint
- Flutter 原生外掛開發流程Flutter
- babel原理及外掛開發Babel
- Electron 外掛開發實踐
- Chrome外掛開發入門Chrome
- Flutter外掛開發---iOS篇FlutteriOS
- Web前端開發Chrome外掛Web前端Chrome
- Idea日常開發外掛Idea