對于非程序員要創(chuàng)建一個WordPress站點,小工具是很棒的。它們能夠添加菜單、列表供稿、文本以及更多東西到小工具區(qū),并且不限于側(cè)邊欄。現(xiàn)在許多主題都在頁腳添加了小工具區(qū),并且大主題框架通常在多個位置設(shè)有小工具區(qū),如頭部或內(nèi)容的上下方。
在這個五部分的系列教程中,我將帶你一起完成創(chuàng)建您的第一個小工具所需的步驟。
本系列包括:
- 介紹小工具和小工具API
- 編寫和注冊你的小工具
- 構(gòu)建你的小工具
- 為你的小工具創(chuàng)建表單
- 在正確的工具區(qū)域內(nèi)顯示你創(chuàng)建的小工具
在這一部分我將介紹小工具和小工具API
創(chuàng)建小工具
要創(chuàng)建一個小工具你可以擴展WP_Widget類,其中包括若干函數(shù):
- 一個處理小工具的函數(shù)
- 一個用于在小工具儀表盤界面顯示小工具表單的函數(shù)
- 一個給用戶更新小工具設(shè)置的函數(shù)
- 一個在任何小工具區(qū)域輸出小工具的函數(shù)
此外,您還要使用 register_widget() 函數(shù)來注冊您已經(jīng)創(chuàng)建的小工具。
你可以在小工具中添加任何內(nèi)容——靜態(tài)文本、從數(shù)據(jù)庫查詢輸出的內(nèi)容、來自其他網(wǎng)站的訂閱以及更多。然而重要的是記住,用戶是希望小工具來適應(yīng)頁面上定義的區(qū)域,所以你的小工具的輸出不應(yīng)該太大了。
WordPress附帶一組內(nèi)置的小工具,因此在你開始編寫自己的之前,檢查它是否已經(jīng)在在WordPress的核心內(nèi)。
在本系列中,我將從我早期的一個教程中開發(fā)的插件來創(chuàng)建一個小工具,該教程關(guān)于創(chuàng)建上下文相關(guān)的側(cè)邊欄導(dǎo)航。在那個教程中我開發(fā)了一個函數(shù),讓具備代碼基礎(chǔ)的用戶拖放到他們的主題或附加到一個鉤子,但如果用戶可以通過一個小工具來添加導(dǎo)航,對于他們來說就更容易了。
小工具API
小工具API包括你要用來創(chuàng)建自己的小工具的函數(shù),讓我們來看看這些函數(shù)。
首先,有四個小工具函數(shù):
- is_active_widget():一個條件標(biāo)簽,用來檢查一個單獨的小工具是否是活躍的。不要將它與用來檢查小工具是否已經(jīng)添加到一個特定的小工具區(qū)的函數(shù) is_active_sidebar() 混淆。
- the_widget():一個模板標(biāo)簽,用來在小工具區(qū)域外顯示小工具。
- register_widget():用來注冊一個小工具的函數(shù),我將在后面的文章中用到。
- unregister_widget():注銷一個小工具,這意味著用戶將無法在小工具界面使用它。
還有五個內(nèi)部函數(shù):
- wp_register_widget_control():在小工具界面上創(chuàng)建控制選項,以便用戶可以修改小工具的設(shè)置。
- wp_unregister_widget_control():取消注冊通過wp_register_widget_control()注冊的小工具控制選項。
- wp_convert_widget_settings():轉(zhuǎn)換小工具的設(shè)置從單一實例到成多實例。
- wp_get_widget_defaults():核心函數(shù),不能被插件或者主題開發(fā)者使用。
- wp_widget_description():創(chuàng)建一個可以在小工具屏幕上顯示的小工具描述。
要訪問這些內(nèi)部函數(shù),你將使用WP_Widget這類。這是一個構(gòu)造函數(shù)類,它可以擴展來創(chuàng)建額外的小工具。
小結(jié)
這個入門教程希望能引起你創(chuàng)建自己的小工具的興趣。在接下來的教程中,我將向你展示如何編寫小工具并注冊它。
原文出自:http://code.tutsplus.com/tutorials/introduction-to-creating-your-first-wordpress-widget–cms-22403
由 思彤@WordPress大學(xué) 原創(chuàng)翻譯,未經(jīng)允許,禁止轉(zhuǎn)載和采用本譯文。
您已閱讀完《一步步創(chuàng)建你的第一個 WordPress 小工具(共5篇)》專題的第 1 篇。請繼續(xù)閱讀該專題下面的文章:





贊一個!!!!!