我正在尝试整合WordPress和MyBB论坛。具体来说,我只想将WordPress的导航栏(新菜单)添加到我的MyBB网站。在CODEX示例之后,我将以下内容添加到myBB安装的header.php中:
require('/home/linuxdis/public_html/wp-blog-header.php');
但是,导航到论坛时出现500错误。检查error_log显示了这个:
PHP致命错误:无法在/home/linuxdis/public_html/wp-includes/capabilities.php上重新声明is_super_admin()(之前在/home/linuxdis/public_html/forum/inc/functions.php:5484中声明) 1213
Bummer,功能名称相同。除了重命名其中一个功能并且可能完全破坏一切之外,还有办法解决这个问题吗? :/
答案 0 :(得分:3)
用户require_once()
而不是require()
,它将确保每页只包含一次该文件。
虽然在这种情况下不理想,但您可以将每个函数包装在function_exists()检查中:
if(!function_exists('myfunc') {
function myfunc() {....}
}
如果与WP / MyBB发生直接冲突,这可能是你唯一的选择,如果他们都需要is_super_admin()
,你就会被卡住。