0

WPAlchemy在我的 WordPress 主题中使用该类,并将其移至主题文件夹中(作者指示用户将其放置在内容目录中,但我希望将其放在主题文件夹中)。

当我以这种方式包含文件时,一切都按预期工作:

require_once WP_CONTENT_DIR . '/themes/efs/inc/metaboxes/wpalchemy/MetaBox.php';

但如果我将声明更改为:

require_once get_template_directory_uri() . '/inc/metaboxes/wpalchemy/MetaBox.php';

该文件加载正常,但在文件中引发“未定义函数”错误。add_action()MetaBox.php

为什么我编写 URL 的方式会影响 WordPress 功能的可用性?

4

2 回答 2

0

If you use require_once on a uri/url then you need to have the php.ini setting of

; Whether to allow include/require to open 
; URLs (like http:// or ftp://) as files.
; @SEE http://php.net/allow-url-include
allow_url_include = On

by default it is off ( for good reason )

于 2013-04-29T01:09:45.640 回答
0

我不知道答案,但我会用 echo 语句打印两条路径:

echo WP_CONTENT_DIR . '/themes/efs/inc/metaboxes/wpalchemy/MetaBox.php';

echo get_template_directory_uri() . '/inc/metaboxes/wpalchemy/MetaBox.php';

我确信这两个字符串是不同的。

于 2013-03-17T20:59:36.897 回答