WordPress Arras Theme Widget Fatal Error When Update

2013-11-28


When we tried to update a WordPress blog website which from version 3.0.1 to version 3.7.1, we got trouble – a Fatal error.

Fatal error: Call to undefined method Arras_Widget_Tag_Cloud::WP_Widget_Tag_Cloud() in /home/….xxx.com/xxxxxx/wp-content/themes/arras/library/widgets.php on line 404

You can see that we had a mistake when we updated the WordPress site, we did not change the theme to default theme, but still using a 3rd party theme named Arras. Obviously the error caused by Arras theme.

Firstly, let us try to check the theme version, when we click the back button in web browser, we luckily saw the WordPress management Dashboard.

What we were using the Arras theme was Arras 1.5.0.1 by Melvin Lee:

Arras 1.5.0.1 by Melvin Lee

A sophisticated, yet simple and clean WordPress theme for magazine/news blogs. Homepage comes with a featured slideshow and 3 featured post areas with 4 different customisable layouts. Comes with in one, two and three column layouts and 7 different alternate styles. WordPress 3.0-ready with two menu locations, custom post types and custom taxonomies support. Child theme ready with numerous action and filter hooks available for use. Community support available at theme forums.

All of this theme’s files are located in /themes/arras.

The Arras theme seems not available on WordPress.org but you can download its newest version from Arras official site.

image

Since our entire WordPress blog site could not be used directly to edit file, so we used FTP tool to connect our hosting server, then we downloaded the file Widgets.php which was mentioned in error message. and then we open it using text editor tool and went to the line 404:

image

So we saw the source code in 404 line is the same as what this web page mentioned, a friend named ziadmasry taught everybody modify 404 line code :

find:

function Arras_Widget_Tag_Cloud() {         
    $this->WP_Widget_Tag_Cloud();         
}

change to:

function Arras_Widget_Tag_Cloud() {        
    parent::__construct();         
}

Then we refreshed the web browser. Bingo! our website came again!