1
有一個插件,其所有的演示函數聲明,以便它們可以被重寫。 I .: .:從主題覆蓋插件功能
if (!function_exists('show_thing')){ ... }
這應該怎麼做?我試過在我的主題functions.php中聲明這個函數,但是它已經在那個執行點聲明瞭。
如果我使用方法聲明創建我自己的插件,那麼如何確保我的插件在此插件之前加載並且函數肯定被覆蓋?
有一個插件,其所有的演示函數聲明,以便它們可以被重寫。 I .: .:從主題覆蓋插件功能
if (!function_exists('show_thing')){ ... }
這應該怎麼做?我試過在我的主題functions.php中聲明這個函數,但是它已經在那個執行點聲明瞭。
如果我使用方法聲明創建我自己的插件,那麼如何確保我的插件在此插件之前加載並且函數肯定被覆蓋?
最簡單的方法是使用Must Use Plugin。創建一個名爲/wp-content/mu-plugins
的文件夾。此目錄中的任何PHP文件都將被加載(它們不必被激活),並且會在激活的插件或主題文件(包括functions.php
)之前執行。在這裏使用一個文件來定義你想要從插件覆蓋的功能。
看看這個圖的WP核心加載順序上的詳細信息:https://wordpress.stackexchange.com/a/26622/20880
對於額外的信貸:如果你希望能夠啓用和禁用該功能,您可以使用自定義插件,然後並確保它首先通過在「active_plugins」數組中設置它的位置來包含它。你可以在這裏看到一個例子:http://justinsilver.com/technology/wordpress/wordpress-plugins/wordpress-plugin-custom-functions-php/ – doublesharp
啊,好戲!謝謝 – Guerrilla