If you turn on WordPress debugging mode by using “define(‘WP_DEBUG’, true);” in wp-config.php, you may notice the following warning notices been displayed on the screen and recorded in web server’s error log:

Notice: register_sidebar_widget is deprecated since version 2.8! Use wp_register_sidebar_widget() instead. in /home/domain/public_html/wp-includes/functions.php on line 3378

Notice: register_widget_control is deprecated since version 2.8! Use wp_register_widget_control() instead. in /home/domain/public_html/wp-includes/functions.php on line 3378

WordPress Deprecated Functions

As explained by the warning message, the register_sidebar_widget() and register_widget_control() functions have been replaced by wp_register_sidebar_widget() and wp_register_widget_control(). They still work, but may no longer in future once WordPress developers decide to remove the deprecated functions from the code base.

The issue normally only happens when you’re using plugins and/or themes that do not update for a long time, e.g. since the release of WordPress version 2.8.


To fix the warning, firstly you need to identify which PHP files are still using the old deprecated functions. Run the following commands in your WordPress installation root folder (or inside themes and plugins directories) to identify which files contain the keywords.

find . -print0 | xargs -0 grep "register_sidebar_widget" -l
find . -print0 | xargs -0 grep "register_widget_control" -l

Once the files are identified, perform the following code changes.

register_sidebar_widget( 'Widget Title', 'widget_name');
register_widget_control( 'Widget Title', 'widget_name', 100, 100 );

wp_register_sidebar_widget( 'Widget Title', 'widget_name', '');
wp_register_widget_control( 'Widget Title', 'widget_name', 100, 100 );

The replacement should be done on every instance of occurrence for register_sidebar_widget and register_widget_control.