只需要在这里创建一个小评论。可插入功能是在WordPress(1.5.1版)的早期引入的,当时我们只有几个插件。如今,许多插件可能使用相同的功能(例如:wp_mail
) 我们有麻烦了。
我发现this blog article 有道理。他建议使用过滤器作为可插入函数的解决方案。他调用了该方法short circuiting, 而不是此:
if ( ! function_exists( \'f1\' ) ){
function f1( $name ) {
echo \'Hello \' . $name;
}
}
您可以:
function f1( $name ) {
$pre = apply_filters( \'f1\', false, $name );
if ( false !== $pre ) {
echo $pre;
return;
}
echo \'Hello \' . $name;
}
很好,但我可以想象解决方案甚至不使用可插拔功能。您只需将可插入函数中的代码复制/粘贴到具有不同名称/类的新插件函数中,就完成了。
当然,如果可插拔功能发生变化,只需发布新的插件版本即可。