我开发了两个插件,其中一个功能相同(相同的名称,相同的功能)。当试图激活两个插件时,Wordpress会抛出一个错误,因为它不允许我以相同的名称定义函数两次。
有没有一种方法可以使这个函数只对插件私有,而不使用面向对象编程,也不简单地重命名函数?我不想使用OOP,因为我首先要学习它。此外,我不想重命名该函数,因为我可能也想在其他插件中使用它,而重命名感觉不太合适。
我开发了两个插件,其中一个功能相同(相同的名称,相同的功能)。当试图激活两个插件时,Wordpress会抛出一个错误,因为它不允许我以相同的名称定义函数两次。
有没有一种方法可以使这个函数只对插件私有,而不使用面向对象编程,也不简单地重命名函数?我不想使用OOP,因为我首先要学习它。此外,我不想重命名该函数,因为我可能也想在其他插件中使用它,而重命名感觉不太合适。
嗯,我想这是不可能的。若您在全局范围内定义函数,那个么它对所有代码都是可见的。
使插件私有化的唯一方法是使用OOP(这是编写插件的推荐方法)。
您可以重命名此函数,但从长远来看,它不会解决您的问题(仍然有可能存在同名函数)。
就实际范围而言,不,您不能将常规函数设为私有函数,这仅适用于类方法(和类变量等)。使用OOP进行名称空间实际上并没有那么困难,interwebs上应该有一些不错的tut。但是,您可以创建函数,"pluggable" 使用function_exists()
包装器。这样,只有当函数不存在时,函数才会运行。
if( ! function_exists(\'your_function\') ) {
function your_function() {
// do something
}
}
如果这样包装这两个函数,则应忽略最后加载的函数,并且不会出现“函数已声明”错误。我正在拼命寻找某种方法,以便在编辑时加入post search选项。php。我想删除此功能,并将其替换为我自己的live search选项。这里有人能提供什么帮助吗?