WordPress CMS的正常安裝由數百個腳本,插件和主題組成。這個概念允許通過簡單地創建它的副本來替換腳本,並將修改過的版本放在正確的目錄中。 但是,當安裝新版本的腳本或插件時,複製的腳本將不會更新。在腳本中通常有數百個函數。更改一個功能的成本是其他功能也不再更新。 在很多情況下,Wordpress掛鉤和過濾器足以添加或抑制特定功能,但並非總是如此。重新聲明一個php函數
我正在尋找一種重新聲明或重載函數的方法,以便在安裝更新時可以用CMS替換原始腳本。我試過這個:
rename_function('wp_function' , 'old_wp_funtion)
function wp_function(){
// things to do before the function
$a = $b;
// call the old function
$result = old_wp_function();
// things to do afterwards
$b = $c;
return $result;
}
但它不起作用。 另外,使用Wordpress你永遠不會知道方面有多少種參數。重載函數也必須處理這個問題。
我的問題是:我如何解決這個問題,讓它在任何情況下都可以使用任何數量和任何類型的參數。 而不必改變任何東西到原來的功能/腳本,因爲它們可能(並且必須)被WordPress更新覆蓋。
我不知道任何'不工作'錯誤在PHP或任何其他語言。順便說一句,你有錯字(在'old_wp_funtion'後面關閉''')。 – Leri 2013-02-21 10:08:30
而且php支持[namespace](http://www.php.net/manual/en/language.namespaces.rationale.php),這是處理函數名稱不明確時常見的方式。 – Leri 2013-02-21 10:09:49
我認爲你需要深入研究你正在努力達到的目標。無論如何,這聽起來像是錯誤的做法。 – Dunhamzzz 2013-02-21 10:24:09