wordpress外掛開發02-首頁文章自動摘要外掛開發

huangbangqing12發表於2018-07-08

在我們做主題開發的時候都知道:首頁呼叫出來的文章是“整篇文章”,目前在網路上有很多自動摘要外掛。

這節課,我們就來演示如何開發自動摘要外掛。

首先我們來到網站的首頁看效果(使用的是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中使用的。

這個外掛的開發原理還是很簡單的,只是針對內容進行裁剪。這就是自動摘要外掛的開發。

相關文章