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