2015-05-14 43 views
2

我對此有點困惑。當在Wordpress的函數文件中註冊側邊欄時,我們使用register_sidebar()函數並在其中傳遞參數。使用或不使用掛鉤註冊側欄

沒有使用任何動作鉤子,側邊欄工作得很好。但是,在我看到的名爲'widget_init'的動作鉤子被用於註冊側邊欄。所以,我的困惑是註冊側欄的標準方法是什麼,有沒有動作鉤子?

回答

0

我發現this interesting piece上註冊的側邊欄它說

壞側邊欄代碼

有一些共同的東西,我想看看內 主題改變。並非所有這些事情在技術上都是不正確的,但它們可能會帶來一些意想不到的後果,或者只是代碼中不必要的位。

問題#1:隨機丟棄代碼到functions.php中

如果你是一個主題開發者,你應該熟悉WordPress的 內置掛鉤。你不僅應該熟悉它們,你應該使用它們。

我看到的最大問題是側邊欄代碼剛被丟入 functions.php。您應該創建一個側邊欄註冊功能,並將其掛接到widgets_init。您可以在 上面的「註冊動態邊欄」一節中看到此示例。

這很重要的原因是爲了讓子主題(甚至是插件)可以準確知道側欄是何時註冊的。如果需要,這給 子主題提供註銷側欄的機會。另外,這樣做並不是 只是簡單的馬虎。


一點題外話這樣的:你永遠不應該只下降代碼到 的functions.php。總是使用WordPress提供的鉤子執行您的 函數,當它們應該在WordPress流程中執行時。

+0

謝謝Wali Hassan。它開始對我有意義! –