为什么包含工作但在Wordpress子主题中包含文件时不需要?

时间:2015-08-04 04:25:40

标签: php wordpress require

有人可以告诉我为什么......

我正在使用子主题,我想添加一个新的php文件test.php。

我把它放在functions.php

//Gives correct file and path to the child-theme
echo get_bloginfo('stylesheet_directory') . "/test.php"; 

//gives me a blank page (error).
require_once(  get_bloginfo('stylesheet_directory') . "/test.php" ); 
//require(  get_bloginfo('stylesheet_directory') . "/test.php" ); also throws an error

为什么实际包含会出错?

WHILE

//works perfectly
include(  get_bloginfo('stylesheet_directory') . "/test.php" ); 

作品吗

1 个答案:

答案 0 :(得分:4)

According to the Codexget_bloginfo('stylesheet_directory')返回活动主题的样式表目录网址。这不是文件路径...它是一个URL。

include “工作”。相反,它是throws a warning that it has not found the file

另一方面,

require会引发致命错误(导致页面空白,因为您没有错误报告)。

包含此文件的正确方法是使用以下内容:

require_once('test.php');

这假设 test.php functions.php 存在于同一目录中。

您还可以使用get_stylesheet_directory()检索当前主题/子主题的样式表目录路径

require_once( get_stylesheet_directory() . '/test.php' );