是否可以使用ABSPATH包含文件?

时间:2015-09-23 作者:Djave

我使用了以下内容:get_home_path(); 在我的功能中。引用的phpin the docs – 但我得到了一个错误:

Call to undefined function get_home_path() in ...
我想包括一个使用它的文件。我注意到还有一个常数ABSPATH. 有什么理由我不应该ABSPATH 作为替代get_home_path()?

编辑我在我的函数中也是这样使用它的(这太简单了)。php文件在我放置的文件开头:

require_once( ABSPATH . \'vendor/autoload.php\' );
如果我输入:

$path = get_home_path();
require_once( $path . \'vendor/autoload.php\' );
这就是一切都出错的时候,关于函数不可用的一般错误。

2 个回复
SO网友:DACrosby

get_home_path() only works when WP admin scripts are loaded.

ABSPATHdefined in wp-config.php 因此,在加载配置文件后,它随时都可以工作,因此应该完全适合您使用。

设置为dirname(__FILE__) + trailing slash wp负载的。php(与wp config.php位置相同)。dirname 此处返回安装WordPress的绝对路径。例如/home/user/public_htmlABSPATH 添加尾部斜杠

/** Absolute path to the WordPress directory. */
if ( !defined(\'ABSPATH\') )
    define(\'ABSPATH\', dirname(__FILE__) . \'/\');

// So,
ABSPATH == \'/home/user/public_html/\'; // WP files are in public_html
因此,如果您有如下文件夹结构:

- public_html/
- - wp-admin/
- - wp-content/
- - wp-includes/
- - wp-config.php
- - wp-load.php
- - vendor/
- - - autoload.php
- ...
您可以在主题的函数中添加以下内容。加载自动加载的php文件。php文件

require_once( ABSPATH . \'vendor/autoload.php\' );

SO网友:Steven

也许这个问题是get_home_path() 只能在admin中使用?就像上面用小写字母写的the docs:

这是一个后端函数。