WordPress CMS 的正常安装由数百个脚本、插件和主题组成。该概念允许通过简单地创建脚本副本并将更改的版本放在正确的目录中来替换脚本。但是,安装新版本的脚本或插件时,不会更新复制的脚本。在一个脚本中通常有数百个函数。更改一个功能的代价是其他功能也将不再更新。在许多情况下,Wordpress 钩子和过滤器足以添加或抑制特定功能,但并非总是如此。
我正在寻找一种重新声明或重载函数的方法,以便在安装更新时可以将原始脚本替换为 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 更新覆盖。