多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > WordPress > 如何把插件集成到WordPress的主題中?

如何把插件集成到WordPress的主題中?

來源:程序員人生   發布時間:2014-04-09 06:19:53 閱讀次數:3803次

上一篇文章我發了一個免插件調用最多評論文章的代碼,在讀者的評論里出現了兩種意見。一種傾向于支持把一些優秀的插件集成到主題里,省卻用戶的麻煩。一種傾向于在主題里保留對某些插件的支持,在發現該插件激活時自動加載。

我個人傾向于主題應該保持最大限度的精簡,但必須保持良好的插件兼容性。但有一些插件,各方面已經非常完善,并且在未來一定時間內也不會對新版本的WordPress出現兼容問題,我們則可以考慮把它集成到主題里。對于集成到主題里的插件,我們可以體會到一些好處:

1.可以自主整合插件所需的JS和CSS文件,減少HTTP請求;
2.在整合的過程中,你可以去除插件中你不需要的部分,減少垃圾可以令WordPress運行更快;
3.可以提高主題的易用性。

在這個系列的文章里,我將說說怎么把插件集成到主題里,我選用MG12出品的AJAX Comment Pager作為試驗品。這款插件的有點是簡單實用,源碼里注釋詳細。

正文
注意:如果你要按照這個教程試著折騰的話,請先備份你的主題,并且請確認你的主題支持按頁碼進行評論分頁。

步驟1
首先打開ajax-comment-pager文件夾里的ajax-comment-pager.php文件,這個文件就是整個插件的核心。我們可以看到細心的MG12對插件的每一個模塊都做了注釋。

我們要做的是先分析這個插件是怎么運行的,程序結構是怎樣的。

首先,根據注釋,我們可以發現程序結構如下圖:

下面解釋一下各個模塊的作用:
l10n:提供插件的本地化語言,在整合是可以忽略;
options:用于配置插件參數;
AJAX function:處理AJAX請求,并返回相應的結果,核心中的核心;
add to WordPress:加載插件運行所需的JS腳本和CSS樣式文件。
到這里,插件的運行機制已經呼之欲出。
首先由add to WordPress加載所需的文件->在點擊評論翻頁時發出AJAX請求->AJAX function模塊獲取options里的參數,處理AJAX請求并返回結果->add to WordPress事先加載的腳本把AJAX function返回的結果插入到評論列表位置。

步驟2
在充分了解插件的結構以后,我們開始提取所需的代碼,先把cpage_ajax和commentpager_head改名,我給這兩個函數名同意加上了“bolo_”前綴。這一步是為了避免和原來的插件產生沖突,改名的方法推薦先復制原來的函數名,改名后用新函數名全部替換原函數名。
接下來把ajax-comment-pager.css和ajax-comment-pager.js復制到主題文件夾里。水平高一點的童鞋們,在這一步就可以整合css和js文件了,如果你不會整合這兩個文件則需要在主題的header.php里加載這兩個文件,并且在加載ajax-comment-pager.js前需要先輸出以下代碼:

<script type="text/javascript">//< ![CDATA[
var ajaxCommnetsPagerCommentsId = "thecomments" //thecomments是評論列表的ID,請根據自己的主題自行修改
var ajaxCommnetsPagerAjaxLoader = "Loading..."
//]]></script>

步驟3
把 AJAX function 模塊的所有代碼復制到主題的functions.php里,我們還需要修改一下。
我們的目的是直接把最適合我們主題的參數整合進去,所以options,callback method name 和 type 這幾部分都可以刪去,并充新補上$callback和$type這兩個變量。

$callback是自定義評論樣式的名字,一般是custom_comment,請自行查看主題配置。
$type是翻頁是需要顯示的內容,只顯示評論則是&type=comment,只顯示pingback則是&type=pings,兩者都顯示則留空。
在這里我設置為:

$callback = 'custom_comment'; //我的主題里評論樣式名為custom_comment
$type = '&type=comment'; //只顯示評論

步驟4
在打開comments.php,在合適的地方加上:

<span id="cp_post_id">< ?php echo $post->ID; ?></span>

如果你不知道什么地方是“合適的地方”,那就把這句代碼加到任一個</div>前吧。

后記

到這里為止,你可以發現主題集成的AJAX Comment Pager已經可以正常運行了。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品日韩一区二区 | 欧美洲久久日韩欧美 | 久久丝袜精品综合网站 | 久久大香伊人中文字幕 | 亚洲视频在线网 | 看亚洲人配人配人种jizz | 日韩精品一区二区三区视频网 | 国产精品免费久久久久影院小说 | 在线高清观看 | 男人午夜视频在线观看 | 噜噜噜噜噜在线观看视频 | 国产91香蕉| 一区二区三区观看 | 免费观看欧美一级牲片一 | 国产亚洲人成网站在线观看不卡 | 性做久久| 欧美成人影院 在线播放 | 午夜性色福利视频 | 性―交―乱―色―情 | 涩涩片影院 | 亚洲第一视频在线 | 激情综合色综合久久综合 | 日本美女一级黄色片 | 中文字幕欧美亚洲 | 欧美巨大xxxx做受孕妇视频 | 久久天堂网 | 亚洲国产人久久久成人精品网站 | 亚洲乱码一二三四五六区 | 手机在线视频观看 | 久久精品无码一区二区三区 | 德国艳星videos极品 | 亚洲成a人片在线观看精品 亚洲成a人片在线观看尤物 | 九色精品在线 | 国产在线精品一区二区夜色 | 欧美成人网在线综合视频 | 亚洲区精品久久一区二区三区 | 亚洲最大视频网 | 日产一区二区三区四区 | 成人精品视频在线观看 | 亚洲精品高清在线 | 亚洲欧美在线综合一区二区三区 |