我不会这样做来防止命名冲突:如果另一个不相关的插件使用相同的名称,它们不太可能提供相同的功能,并且您的插件可以正常运行。在那里,你希望尽早失败,而不是在以后偷偷摸摸。或者使用更好的前缀防止冲突,当然:-)
这样做的唯一原因是创建一个可插拔功能,这是一个单独的功能,可以通过其他插件以不同的方式实现。您可以在WordPress核心代码中看到这一点:像wp\\u mail()这样的函数是可插入的,因此您可以使用完全自定义的邮件系统。
您还可以在可能获得子主题的主题中看到这一点。默认主题Twemty Eleven和Tweety Ten就是很好的例子。子主题可以使用相同的名称定义函数,将使用它们。
就个人而言,我真的不喜欢这种为其他代码提供挂钩的方法。它们使我们更难弄清楚将调用什么代码(MyIDE代码的完成变得混乱)。我尝试通过“经典”操作和过滤器提供所有扩展点。