使用eval()代码时找不到主题路径

时间:2012-02-23 22:10:36

标签: php wordpress wordpress-plugin

全部, 我正在使用以下代码尝试为我的Wordpress页面设置包含路径:

$themePath = trailingslashit(get_bloginfo('template_url'));
set_include_path($themePath);
include_once 'Zend/Loader.php';

如果我不在Wordpress中的实际页面中使用它,这可以正常工作。我正在使用Exec-PHP插件来显示我的PHP。当我把它放在那个代码中时它不理解include路径并给我一个错误,我的Zend / Loader文件找不到。

我收到的错误消息是:

致命错误 D:\ My Documents \ xampp \ htdocs \ wordpress \ wp-content \ plugins \ exec-php \ includes \ runtime.php中找不到类'Zend_Loader' (42):行 31上的eval()'d代码

Zend加载程序位于以下路径中: http://localhost/vendor_wordpress/wp-content/themes/themename/

如何设置包含路径并使用Exec-PHP处理我的PHP代码?

1 个答案:

答案 0 :(得分:3)

您正在使用template_url for includes,它为您提供URL而不是绝对路径,应该用于包含。

你应该使用的是

$themePath = ABSPATH . 'wp-content/themes/themename';

你也应该保留原始的包含路径:

set_include_path(get_include_path() . PATH_SEPARATOR . $themePath );