Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 应用WordPress主题有问题_Php_Wordpress - Fatal编程技术网

Php 应用WordPress主题有问题

Php 应用WordPress主题有问题,php,wordpress,Php,Wordpress,我对WordPress(和这个网站)比较陌生,不知道是否有人能帮我。我通常只是随便使用HTML和CSS前端,但我正试图将此主题应用于本地主机上的WordPress,结果如下: 注意:WP_小部件的被调用构造函数方法是 从4.3.0版起已弃用!使用 __construct() 有人能帮我弄明白这一切吗 感谢您抽出时间,祝您有一个幸福的一天。这里的钥匙在第14行: 14 0.3934 36378552 Woo_Widget_AdSpace->Woo_Widget_AdSpace( )

我对WordPress(和这个网站)比较陌生,不知道是否有人能帮我。我通常只是随便使用HTML和CSS前端,但我正试图将此主题应用于本地主机上的WordPress,结果如下:

注意:WP_小部件的被调用构造函数方法是 从4.3.0版起已弃用!使用 __construct() 有人能帮我弄明白这一切吗


感谢您抽出时间,祝您有一个幸福的一天。

这里的钥匙在第14行:

14  0.3934  36378552    Woo_Widget_AdSpace->Woo_Widget_AdSpace( )   ..\widgets.php:591
正如其他人所提到的,这是一个旧的PHP4风格的构造函数,已被弃用。很可能是你的主题。当搜索特定的小部件时,会产生一个快速搜索,这意味着它与您的主题有关

如果您想继续使用该特定主题作为基础,但要完全消除错误,则需要仔细阅读,然后从内部重写该小部件

成功扩展主题后,可以在子主题的
functions.php
文件中使用类似的内容覆盖它:

add_action('after_setup_theme', 'my_theme_overrides');
function my_theme_overrides(){
    unregister_widget('Woo_AdWidget');
    register_widget('My_Woo_AdWidget');
}
class My_Woo_AdWidget extends Woo_AdWidget{
    public function __construct(){
        $widget_ops = array('description' => 'Use this widget to add any type of Ad as a widget.' );
        WP_Widget::__construct(false, __('Woo - Adspace Widget', 'woothemes'),$widget_ops);
    }
}

这是未经测试的,但它应该有助于避免弃用错误,同时保留主题类的主要逻辑。不过,我强烈建议您选择一个不同的主题。

您的一个插件包含一个使用旧PHP4风格构造函数的小部件。请尝试逐个禁用您的插件,以找出导致问题的原因。@bklynM,如果在OP尝试激活主题时发生这种情况,则主题将是问题所在,而不是插件。我假设您正在使用?明确地这是一个旧的PHP4样式的构造函数,将来将不再受支持。我建议选择不同的主题,或者覆盖小部件本身。
add_action('after_setup_theme', 'my_theme_overrides');
function my_theme_overrides(){
    unregister_widget('Woo_AdWidget');
    register_widget('My_Woo_AdWidget');
}
class My_Woo_AdWidget extends Woo_AdWidget{
    public function __construct(){
        $widget_ops = array('description' => 'Use this widget to add any type of Ad as a widget.' );
        WP_Widget::__construct(false, __('Woo - Adspace Widget', 'woothemes'),$widget_ops);
    }
}