When updating a blog of mine to WordPress 3.9 the page wouldn’t load anymore because of qTranslate not able to cope with the update. In the error log it says:
PHP Catchable fatal error: Object of class WP_Post could not be converted to string in ../wp-content/plugins/qtranslate/qtranslate_core.php on line 455
The error is caused by this change: get_the_date() to accept optional $post argument
There is a proposed quick fix by Saverio Proto, but it doesn’t take the problem at its root:
qTranslate registers the function qtrans_dateFromPostForCurrentLanguage($old_date, $format ='', $before = '', $after = '') for the hook get_the_date but it actually only accepts one parameter. With the new update it accepts a second parameter $post, which now wrongly fills the variable $before that is in the process being converted to a string.
So the solution simply is to delete the two parameters that were assigned the wrong meaning and have defaults anyway.