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


Not finding Theme path when using eval() code

全部,我正在使用以下代码尝试为我的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''examplep''htdocs''wordpress''wp-content''plugins''exec php''includes''runtime.php(42):eval()的代码中未找到类"Zend_Loader"

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

关于如何设置include路径并使用Exec PHP处理我的PHP代码,有什么想法吗?

您使用template_url作为includes,它提供url,而不是绝对路径,后者应该用于includes。

你应该使用

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

并且您还应该保留原始包含路径:

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