I had the same problem and got it finally to work. Based on the thread you have followed, you now have to extend the “update” function of the WP core /wp-includes/js/media-views.js.
Go to the “jQuery(document).ready(function()…” part of the ‘print_media_templates’ action and try this:
<script>
jQuery(document).ready(function()
{
wp.media.view.Settings.Gallery = wp.media.view.Settings.Gallery.extend({
// add your custom options template (you probably already did this)
template: function(view){
return wp.media.template('gallery-settings')(view)
+ wp.media.template('custom-gallery-setting')(view);
},
// now extend the update function
update: function( key ) {
// call originial function: you want to *extend* it,
// not to override it completely!
wp.media.view.Settings.prototype.update.call( this, key );
// get the current value of your gallery_image_title_text_size attribute
var currentTextSize = this.model.attributes.gallery_image_title_text_size;
// get the data-setting elements, in your case 'gallery_image_title_text_size':
$setting = this.$( '[data-setting="gallery_image_title_text_size"]' );
// for each of this setting (if it's a radio button),
// check the value stored by your attributes
// and set the radio button accordingly
$setting.each( function ( index ) {
if ( $( this ).is( 'input[type="radio"]' ) &&
currentTextSize == $( this ).val() ) {
$( this ).attr( 'checked', true );
} else {
$( this ).attr( 'checked', false );
}
} );
}
} );
} );
</script>