Skip to content

Instantly share code, notes, and snippets.

@iiwo
Created November 14, 2013 00:30
Show Gist options
  • Save iiwo/7459135 to your computer and use it in GitHub Desktop.
Save iiwo/7459135 to your computer and use it in GitHub Desktop.
qTranslate hack - support for custom text input
//qTranslate hack for custom text input
//source input has to have class qtranslatable-input for this to work
var qtranslatable_inputs_init = function(){
var selector = ".qtranslatable-input";
jQuery(selector).each(function(index){
var input_id = jQuery(this).attr("id");
var input_class = jQuery(this).attr("class");
var _this = this;
var integrated = jQuery(this).attr('value');
var splitted = qtrans_split(integrated);
jQuery.each(Qtranslate.enabled_languages, function(value){
var new_id = input_id+'_'+Qtranslate.enabled_languages[value];
jQuery(_this).before('<label for="'+new_id+'">'+Qtranslate.enabled_languages[value]+'</label>');
jQuery(_this).before('<input id="'+new_id+'" type="text" class="'+input_class+'" value="'+splitted[Qtranslate.enabled_languages[value]]+'" >');
var lang_input = jQuery('#'+new_id);
jQuery(_this).css( "display", "none" );
jQuery(lang_input).on("input", null, null,function(){
jQuery.each(Qtranslate.enabled_languages, function(v){
var _new_id = input_id+'_'+Qtranslate.enabled_languages[v];
var _lang_input = jQuery('#'+_new_id);
jQuery(_this).attr("value", qtrans_integrate(Qtranslate.enabled_languages[v],_lang_input.attr('value'),jQuery(_this).attr('value')));
});
});
});
});
}
jQuery(document).ready(function() {
qtranslatable_inputs_init();
})
//make enabled languages visible for javascript
function register_qtranslate_var(){
global $q_config;
wp_localize_script('jquery', 'Qtranslate', array(
'enabled_languages'=>$q_config['enabled_languages'])
);
}
add_action('admin_enqueue_scripts', 'register_qtranslate_var');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment