您好,我有一个管理选项中的下一个错误,代码行是下一个。你能帮帮我吗?
【2021 9月11日12:02:43 UTC】PHP致命错误:未捕获错误:在/var/www/vhosts//主题选项中调用成员函数atp\\u variable()。php:858堆栈跟踪:#0/var/www/vhosts/昆虫。gr/httpdocs/wp包括/类wp挂钩。php(303):atp\\u options()#1/var/www/vhosts/昆虫。gr/httpdocs/wp包括/类wp挂钩。php(327):WP\\U挂钩->;apply\\u filters()\\2/var/www/vhosts/昆虫。gr/httpdocs/wp包括/插件。php(470):WP\\U挂钩->;do\\u action()#3/var/www/vhosts/昆虫。gr/httpdocs/wp设置。php(578):do\\u action()#4/usr/local/psa/admin/plib/modules/wp-toolkit/vendor/wp-cli/vendor/wp-cli/php/wp-cli/Runner。php(1291):require(“/var/www/vhosts…”)#5/usr/local/psa/admin/plib/modules/wp-toolkit/vendor/wp-cli/vendor/wp-cli/php/wp-cli/Runner。php(1212):WP\\u CLI\\Runner->;load\\u wordpress()#6/usr/local/psa/admin/plib/modules/wp-toolkit/vendor/wp-cli/vendor/wp-cli/wp-cli/php/wp-cli/Bootstrap/LaunchRunner。php(23):WP\\u CLI\\Runner->;start()#7/usr/local/psa/admin/plib/modules/wp-toolkit/vendor/wp-cli/ve-in/var/www/vhosts/em>/主题选项。php在线858
$iva_of_options[] = array(
\'name\' => \'Select Slider Type\',
\'desc\' => \'Select which slider you want to use for the Frontpage of the theme.\',
\'id\' => $shortname . \'_slider\',
\'std\' => \'flexslider\',
\'class\' => \'select300\',
\'type\' => \'select\',
\'options\' => $atp_theme->atp_variable( \'slider_type\' ),
);
整个代码都在这里代码共享。io/zyXYA7
SO网友:Jacob Peattie
问题中的错误消息似乎是从WP CLI引发的。根据您的其他评论,问题是您的主题没有正确声明全局变量。
在代码的某个地方,在函数外声明了以下内容:
$atp_theme = new ATP_theme();
然后,在代码的其他部分,您有:
global $atp_theme;
通过浏览器使用WordPress时,在函数外部声明的变量,如
$atp_theme
在第一行中,是全球性的。因此,您可以使用
global
, 就像第二行一样。
问题是,在使用WP CLI时,在函数外部声明的变量不会自动为全局变量。因此global $atp_theme
未定义。
要解决这个问题,需要在定义变量时将其显式声明为全局变量,如下所示:
global $atp_theme;
$atp_theme = new ATP_theme();
或者这也可以:
$GLOBALS[\'atp_theme\'] = new ATP_theme();