2015-09-18 4 views
0

Я относительно новичок в WordPress (и на этом сайте) и задавался вопросом, может ли кто-нибудь помочь мне. Я обычно просто слоняться с HTML и CSS передний конец, но я пытаюсь применить эту тему для WordPress на моем локальном хосте, и это происходит:Проблема с применением темы WordPress

Примечание: Вызываемый метод конструктора для WP_Widget является DEPRECATED начиная с версии 4.3.0! Используйте вместо этого

__construct()
. в C: \ WAMP \ WWW \ project_name \ сор-включает в себя \ functions.php на линии 3457

И это происходит после этого:

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

Один из ваших плагинов содержит виджет, использующий старый конструктор стиля PHP 4. Попробуйте отключить свои плагины один за другим, чтобы узнать, какой из них вызывает проблему. – amespower

+0

@bklynM, если это происходит, когда OP пытается активировать тему, тема будет проблемой, а не плагином. – rnevius

+0

Я предполагаю, что вы используете [эту тему] (https://github.com/freespace-io/wordpress-theme)? В частности, [этот виджет] (https://github.com/freespace-io/wordpress-theme/blob/master/includes/widgets/widget-woo-adspace.php)? Это старый конструктор стиля PHP4, который больше не будет поддерживаться в будущем. Я бы рекомендовал выбрать другую тему или переопределить сам виджет. – maiorano84

ответ

0

Ключ здесь в строке 14:

14 0.3934 36378552 Woo_Widget_AdSpace->Woo_Widget_AdSpace() ..\widgets.php:591 

Как кто-то упомянул, что это старый конструктор PHP4 стиль, который является устаревшим. Вероятно, это происходит из вашей темы. Быстрый поиск дал this result при поиске этого конкретного виджета, что означает, что это проблема с вашей темой.

Если вы хотите продолжить использовать эту тему в качестве базы, но избавитесь от ошибок в целом, вам нужно будет прочитать на creating a child theme, а затем переопределить виджет изнутри.

После того, как вы успешно расширить тему, вы можете изменить его с чем-то вроде этого в 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); 
    } 
} 

Это проверялось, но должна помощь обойти ошибки устаревания, сохраняя основная логика классов вашей темы. Я бы высоко рекомендую выбрать другую тему.

Смежные вопросы