【问题标题】:Fatal error: Uncaught Error: Call to undefined function get_option()致命错误:未捕获错误:调用未定义函数 get_option()
【发布时间】:2019-08-05 05:46:54
【问题描述】:

我试图在wp-config.php 文件中的require_once(ABSPATH . 'wp-settings.php'); 行之前获取get_option() 函数的值并出现以下错误。

致命错误:未捕获错误:调用未定义函数 get_option() 在 C:\xampp\htdocs\WordPressSites\SvamGlobal\wp-config.php:106 堆栈 跟踪:#0 C:\xampp\htdocs\WordPressSites\SvamGlobal\wp-load.php(37): 要求一次()#1 C:\xampp\htdocs\WordPressSites\SvamGlobal\wp-blog-header.php(13): require_once('C:\xampp\htdocs...') #2 C:\xampp\htdocs\WordPressSites\SvamGlobal\index.php(17): require('C:\xampp\htdocs...') #3 {main} 抛出 C:\xampp\htdocs\WordPressSites\SvamGlobal\wp-config.php 在第 106 行

这是我在wp-config.php 文件中尝试的代码。

$blogValue = get_option( 'blogs_creators', '' );
print_r($blogValue);
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

我怎样才能解决它?

更新:

正如 @MasivuyeCokile 所建议的,我已将代码更改为:

/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');

$blogValue = get_option( 'blogs_creators', '' );
print_r($blogValue);
define('BLOGS_CREATORS', $blogValue );

现在我可以获取get_option( 'blogs_creators', '' ) 的值,但问题出在functions.php 文件中。定义的常量BLOGS_CREATORSfunctions.php 中不可用。

这就是我在设置之前得到它的原因。

希望这是有道理的。 :)

【问题讨论】:

  • 设置文件必须首先加载它设置了wordpress vars和所有其他wp文件...option.php也由wp-settings.php文件加载
  • @MasivuyeCokile,谢谢我已经更新了我的问题,请立即帮助我。
  • 检查你的函数文件是否包含选项文件print_r(get_included_files());然后查看文件是否会显示,如果不包含则只需包含它include_once('wp-includes\option.php');
  • @MasivuyeCokile,是的,它显示在 functions.php 文件中。
  • 然后 get 选项应该适用于您的功能

标签: php wordpress


【解决方案1】:

我已经通过将functions.php 文件中的常量定义为:

使用了动作钩子after_setup_theme

add_action( 'after_setup_theme', 'constants' );

function constants() {
  $blogValue = get_option( 'blogs_creators', '' );
  define('BLOGS_CREATORS', $blogValue );
}

现在BLOGS_CREATORS 随处可见:

print_r(BLOGS_CREATORS);

【讨论】:

    猜你喜欢
    • 2019-05-22
    • 2017-01-27
    • 2016-04-07
    • 2017-08-19
    • 2018-01-18
    • 2020-03-28
    相关资源
    最近更新 更多