2015-08-20 58 views
1

將WordPress更新到4.3後,我的小工具無法使用。 更新之前,我的小部件工作得很好。 我走過谷歌,但我發現什麼都不能幫助我,除非他們說我必須使用我正在使用的__construct函數。 有什麼幫助嗎?WordPress 4.3更新小工具無效後

ps。我知道我已經包含了該文件,這個小部件出現在小部件列表中,我也沒有在小工具上放置這個小部件,但它並沒有在側欄上打印出「這是小部件的內容」。

這是我簡單的代碼:(編輯:下面是編輯的代碼和現在的工作多虧了提供的解決這兩個傢伙)

<?php 

class test_widget extends WP_Widget { 

function __construct() { 
    parent::__construct(
    'test_pop', // Base ID 
    __('test widget', 'text_domain'), // Name 
    array('description' => __('A test Widget', 'text_domain'),) // Args 
); 

    add_action('widgets_init', array($this, 'widgets_init')); 
} 

public function widget($args, $instance) { 
    echo $args['before_widget']; 
    echo "<h1> This is the content of widget<h1>"; 
    echo $args['after_widget']; 
} 

public function form($instance) { 

} 

public function update($new_instance, $old_instance) { 
    $instance = array(); 
    return $instance; 
} 

} 

function test_widget_register() { 
    register_widget('test_widget'); 
} 

add_action('widgets_init', 'test_widget_register'); 

?> 

回答

1

內部功能__construct

function __construct(){ 
    parent::__construct(
    //define your widgets ID,Name, Description. 
    ) 
    add_action('widgets_init', array($this, 'widgets_init')); 
} 

然後應用user5251252以上的功能更新。

2
<pre><code> 
public function update($new_instance, $old_instance) {   
     $instance = array();   
     return $instance;  
    } 
</code></pre> 

$instance必須設置。

+0

我感謝您的幫助很大,但它不會與工作之一。 –

0

這些問題來自插件。因爲一些插件老版本有類名稱和功能名稱是相同的,所以你會這樣做,

  1. 首先停用所有插件和更新所有plugins.it將工作。

例子:

class PHP_Code_Widget extends WP_Widget { 

    function PHP_Code_Widget() { 

    }