I would definitely upgrade.
I would, however, make a full backup of all website files and folders, and a full database backup. Should I run into any compatibility issues with plugins or theme, that I wouldn’t be able to solve after upgrade, I’d revert everything to the backup.
But, than again, there aren’t many issues I cannot debug when it comes to WordPress. In this particular case, the only problems you might have are with qtranslate (which I kind of dumped in favor of mqtranslate on most of the multilangual websites I ran). If you want to make the switch, here’s a small snippet to make Customizr compatible with mqtranslate too (this goes into functions.php of the child theme):
if ( is_plugin_active('mqtranslate/mqtranslate.php') ) {
add_filter( 'tc_slide_link_url' , 'tc_url_lang' );
add_filter( 'tc_logo_link_url' , 'tc_url_lang');
add_filter( 'tc_fp_link_url' , 'tc_url_lang');
add_filter( 'tc_slide_title', 'tc_apply_qtranslate' );
add_filter( 'tc_slide_text', 'tc_apply_qtranslate' );
add_filter( 'tc_slide_button_text', 'tc_apply_qtranslate' );
add_filter( 'tc_slide_background_alt', 'tc_apply_qtranslate' );
add_filter( 'tc_fp_text', 'tc_apply_qtranslate' );
add_filter( 'tc_fp_button_text', 'tc_apply_qtranslate' );
add_filter( 'tc_slide_title_length' , 'tc_remove_char_limit');
add_filter( 'tc_slide_text_length' , 'tc_remove_char_limit');
add_filter( 'tc_slide_button_length' , 'tc_remove_char_limit');
add_filter( 'tc_fp_text_length' , 'tc_remove_char_limit');
}
Just keep in mind that I already made a github commit to the Customizr master to make it compatible with mqtranslate. If and when this commit gets included into Customzir, the code above would be rendered useless. It won’t break any website that uses it, but it would slow any page that loads a slider with a fraction of a second, applying those filters twice on all sliders.
If you choose not to make the switch, you probably need to go into qtranslate.php
and manually edit (~ line 90) to
define('QT_SUPPORTED_WP_VERSION', '3.9.1');
Also, to suppress some ugly warnings, you might want to replace qtrans_localeForCurrentLanguage()
function in qtranslate_hooks.php
(~ line 47) with:
function qtrans_localeForCurrentLanguage($locale){
global $q_config;
if(!array_key_exists('language', $q_config)){$q_config['language'] = $q_config['default_language'];}
// try to figure out the correct locale
$locale = array();
$locale[] = $q_config['locale'][$q_config['language']].".utf8";
$locale[] = $q_config['locale'][$q_config['language']]."@euro";
$locale[] = $q_config['locale'][$q_config['language']];
$locale[] = $q_config['windows_locale'][$q_config['language']];
$locale[] = $q_config['language'];
// return the correct locale and most importantly set it (wordpress doesn't, which is bad)
// only set LC_TIME as everyhing else doesn't seem to work with windows
setlocale(LC_TIME, $locale);
return $q_config['locale'][$q_config['language']];
}
I hope this will help you upgrade and that all go smooth with it.
As a side-note, qtranslate is known to be a very unwise plugin when it comes to server resources (it tries to filter everything, to make sure no untranslated content gets into the page and, in doing so, it slows your website a bit), so if you’re worried about your website performance you should definitely change to mqtranslate (a bit better from this pov, not by much though, after all it is a qtranslate fork).
Cheers.