无法从包含的文件中访问常量

时间:2013-01-23 作者:Paul McCarthy

首先,我完全肯定我在这件事上是个白痴,但一个小时的挠头和搜索这个网站仍然让我感到困惑。

我正在尝试访问包含文件中插件的构造函数中定义的常量。该文件包含在连接到wp\\U页脚操作的函数中:

class className {
function className () {
    $this->__construct();
}

function __construct() {
    DEFINE(\'IMPACTMENU_IMAGES\', WP_PLUGIN_URL . \'/impactmenu/images\'); 
    DEFINE(\'IMPACTMENU_TEMPLATES\', WP_PLUGIN_URL . \'/impactmenu/templates\');

    add_action(\'wp_footer\', array($this, \'impact_menu_html\'));
} 

function impact_menu_html() {
    ob_start();
    include(IMPACTMENU_TEMPLATES . \'/template.php\');
    $im_footer = ob_get_contents();
    ob_end_clean();
    echo $im_footer;
   }
}
在模板中。php文件:

echo IMPACTMENU_IMAGES;
我希望输出是指向images目录的路径,但输出实际上只是“IMPACTMENU\\u images”。

在此方面的任何帮助都将不胜感激!

1 个回复
SO网友:fischi

这里的问题是,模板文件在wp_footer 动作,因此在该阶段未定义常量。

可以肯定的是,尝试将类的构造函数挂接到前面调用的操作,我真的不知道您需要多早调用,但请尝试init. 您还可以在加载插件时构造类,这样您就应该安全了。

结束

相关推荐