wordpress外掛開發02-首頁文章自動摘要外掛開發
在我們做主題開發的時候都知道:首頁調用出來的文章是“整篇文章”,目前在網路上有很多自動摘要外掛。
這節課,我們就來演示如何開發自動摘要外掛。
首先我們來到網站的首頁看效果(使用的是Twenty Seventeen主題):
會員觀看
下載外掛後,把它放到本地的外掛目錄下。
安裝好後,再看看網站前臺的效果:
會員觀看
我們看到,首頁的文章的字數就變少了,是一段摘要。
這就是這個外掛的效果,下面我們來分析下:這個外掛是如何開發出來的?
開啟這個外掛檔案:
<?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中使用的。
這個外掛的開發原理還是很簡單的,只是針對內容進行裁剪。這就是自動摘要外掛的開發。