我对WordPress(和这个网站)相对较新,并且想知道是否有人可以帮助我。我通常只是使用HTML和CSS前端,但是我试图将这个主题应用到我的localhost上的WordPress,这种情况发生了:
注意:WP_Widget的被调用构造函数方法是 自4.3.0版以来已弃用!使用
__construct()代替。在 第3457行的C:\ wamp \ www \ project_name \ wp-includes \ functions.php
这是在它之后:
Call Stack
# Time Memory Function Location
1 0.0002 250512 {main}( ) ..\index.php:0
2 0.0003 253616 require( 'C:\wamp\www\project_name\wp-blog-header.php' ) ..\index.php:17
3 0.0005 271976 require_once( 'C:\wamp\www\project_name\wp-load.php' ) ..\wp-blog-header.php:12
4 0.0007 283080 require_once( 'C:\wamp\www\project_name\wp-config.php' ) ..\wp-load.php:37
5 0.0011 381920 require_once( 'C:\wamp\www\project_name\wp-settings.php' ) ..\wp-config.php:91
6 0.2640 36262904 do_action( ) ..\wp-settings.php:353
7 0.3925 36334448 call_user_func_array:{C:\wamp\www\project_name\wp-includes\plugin.php:503} ( ) ..\plugin.php:503
8 0.3925 36334624 wp_widgets_init( ) ..\plugin.php:503
9 0.3934 36375496 do_action( ) ..\default-widgets.php:1649
10 0.3934 36377800 call_user_func_array:{C:\wamp\www\project_name\wp-includes\plugin.php:503} ( ) ..\plugin.php:503
11 0.3934 36377864 __lambda_func( ) ..\plugin.php:503
12 0.3934 36377952 register_widget( ) ..\widget-woo-adspace.php(207) : runtime-created function:1
13 0.3934 36378000 WP_Widget_Factory->register( ) ..\widgets.php:720
14 0.3934 36378552 Woo_Widget_AdSpace->Woo_Widget_AdSpace( ) ..\widgets.php:591
15 0.3934 36380000 WP_Widget->WP_Widget( ) ..\widget-woo-adspace.php:42
16 0.3935 36380248 _deprecated_constructor( ) ..\widgets.php:176
17 0.3935 36380760 trigger_error ( ) ..\functions.php:3457
有人可以帮助我理解这一切吗?
感谢您抽出宝贵的时间来祝福您。
答案 0 :(得分:0)
这里的关键是第14行:
14 0.3934 36378552 Woo_Widget_AdSpace->Woo_Widget_AdSpace( ) ..\widgets.php:591
正如其他人提到的那样,这是一个不推荐使用的旧PHP4样式构造函数。它可能来自你的主题。搜索特定小部件时,快速搜索会产生this result,这意味着您的主题存在问题。
如果您想继续使用该特定主题作为基础,但完全消除错误,您需要阅读creating a child theme,然后从内部覆盖小部件。< / p>
成功扩展主题后,您可以在子主题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);
}
}
这是未经测试的,但应该帮助规避弃用错误,同时保留主题类的主要逻辑。我会 高度 建议选择不同的主题。