問題描述
許多 Wordpress 功能遵循命名約定,可能最知名的是 the_*()功能,如 the_post(),用於 The Loop 。
顯然,is_*()系列功能屬於 Conditionals 。但是,由以下函式字首表示的常見主題是什麼?
-
add_*() -
register_*() -
wp_*() -
wp_insert_*()
在我看來,wp_insert_*()功能都在資料庫上執行 INSERT 語句。也就是說,它們改變了應用程式的狀態。它是否正確?
在我看來,register_*()功能不影響資料庫。也就是說,它們使結構僅適用於當前頁面呼叫。它是否正確?
wp_*()功能有一個共同的主題嗎?這只是一個不再執行的舊的 pseudo-namespace 嗎?
add_*()功能似乎是最不合邏輯的。有些影響資料庫,如 add_post_meta(),有些不 add_theme_support()。 add_*()功能中常見的是什麼,為什麼不叫 wp_insert_post_meta()和 register_theme_support()一致性?
最佳解決方案
甜言蜜語是不要讓您的頭腦超過命名約定或 WordPress 的一致性,因為這些不存在”standards” 。
誠然,WordPress 不會遵循任何固定的規則或標準,即使有一本關於 WordPress 開發人員編碼標準的手冊。是的,如果他們會堅持某種可預測的模式,那將是很好的,但他們不會。
WordPress 已經 10 多歲了,從來沒有像今天那樣大。在那段時間裡,許多核心開發人員來了,而且因為今天的 WordPress 是一個社群專案,任何人都可以向任何人提交關於改進,新功能等的想法,您會發現很多不同的編碼風格和”standards”(如命名約定) 核心。
如果要單獨使用命名約定在基於 add,register 和 the 之類的領先字元的函式之間找到一些常見的模式,那麼這裡完全錯誤。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。