Genesis框架從入門到精通(9): 函式介紹
原文
譯文
本系列的前幾部分中,我談到了動作和過濾器 ,但Genesis的優勢之處遠不止於此。Genesis內含的輔助函式是它的又一個巨大優點。今天我們先快速總覽一下全貌,然後我將帶你深入研究每個函式的細節。
首先,還是看看檔案結構。照例,通過資料夾的名字和檔案的名字可以幫助我們快速找到需要的內容,請檢視 genesis/lib/functions/
資料夾。
- genesis/lib/functions/
- breadcrumb.php (麵包屑導航)
- compat.php (擷取字串長度)
- deprecated.php (不再使用的函式,因為它們已被新函式替換)
- feed.php (將url重定向到Feed的地址)
- formatting.php (格式化文字或返回其他函式值的函式)
- general.php (雜七雜八的設定)
- head.php(處理網站頭部資訊的函式)
- image.php (用於獲取縮圖)
- layout.php (用於更改站點的佈局/佈局選項的函式)
- markup.php(封裝了html程式碼和對HTML5的支援)
- menu.php (genesis導航選單的函式)
- onboarding.php (用於引導性的內容設定)
- options.php (用於獲取選項值和自定義欄位的函式)
- requirements.php(檢查系統要求)
- seo.php (與主題SEO相關的函式)
- toolbar.php(用來編輯自定義存檔頁的工具欄)
- upgrade.php (升級用)
- widgetize.php (處理預設側邊欄,頁尾側邊欄的建立、註冊)
注
斜體部分為原文中沒有的內容,譯者丘壑根據最新版Genesis 2.8新增
好的,現在你已經大致瞭解了檔案中的內容。我們將在本系列的後續文章中討論其中的大多數檔案和函式,現在讓我們先從一些最常用的函式開始介紹一下。更詳細的內容將在稍後釋出,現在先大致的看幾個函式:
genesis_get_image()
此函式和 genesis_image()
用於獲取特色影象。實際上它還可以做得更多。如果你沒有設定特色影象,它還會取出文中的第一張圖片。稍後將詳細討論可以傳遞給它的引數。 genesis_image()
會把 genesis_get_image()
取到的圖片顯示出來,這是它們的不同之處。這意味著你在使用該函式時不必輸入“ echo
”。由於這種特性,你可以使用很多巧妙的技巧。
genesis_get_custom_field()
同樣的, genesis_custom_field()
函式會把 genesis_get_custom_field(
)獲取到的值打印出來。它會自動使用 $post-> ID
,只需要傳入欄位名即可。
get_the_content_limit()
get_the_content_limit()
函式使用 get_the_content()
來獲取完整內容,然後對其進行長度限制。 the_content_limit()
可以直接用來顯示限制過長度的部分文章。這類似於 the_excerpt()
,但有幾個高階引數可以設定,可以更輕易的調整要顯示的內容長度,甚至更精確的(字元數、字數),並且自動內建好了“read more”的連結。
這些只是想激起你的興趣而已,很快就會深入研究這些函式的具體功能,可選引數以及怎樣用過濾器來調整輸出。
寫在後面
這是最短的一篇沒想到卻是最費時的,因為太久遠了。。作者寫的日期距離現在已經快8年了。。。裡面寫到的好多都和現在不一樣了,有的沒了,有的移走了,有的新添加了,估計部落格上也懶得更新了,但願書中應該更新了吧。。
由於手邊還是沒有書,只好一個個檔案開啟看看裡面是啥內容,人肉確認一下。不過也正好藉此機會一窺Genesis的內部程式碼組織,確實井然有序的,而且也是在不斷迭代更新的,是一個有生命力的框架,值得好好研究一下。
ps:本文檔案樹的樣式參考了這裡: https://codepen.io/khoama/pen/hpljA
See the Pen Pure CSS Directory Tree by Khoa Ma ( @khoama ) on CodePen .