Automatically check WPML custom field checkboxes
Posted in Web Development on 06.10.2015 by @chasebadkids
Posted in Web Development on 06.10.2015 by @chasebadkids
Today I faced a pretty daunting task, I needed to check around 2,600 rows of checkboxes across 4 different sites, each that had 3 different options.
You might face this yourself within the WordPress WPML ( WordPress Multi Site) custom field / ACF / Advanced custom fields area. What I wanted to do was programmatically send off the correct job translations that I wanted, and not send off the ones that didn’t need to be translated.
This handy snippet that I came up with solved just that!
function endsWith(str, suffix) {
return str.indexOf(suffix, str.length - suffix.length) !== -1;
}
jQuery("#icl_cf_translation tbody tr").each(function() {
var tdVal = jQuery(this).find("td:first").html();
if(tdVal[0] != '_' &&
!endsWith(tdVal,'image') &&
!endsWith(tdVal,'background') &&
!endsWith(tdVal,'link') &&
!endsWith(tdVal,'width') &&
!endsWith(tdVal,'filter') &&
!endsWith(tdVal,'section') &&
!endsWith(tdVal,'shortcode') &&
!endsWith(tdVal,'style') &&
!endsWith(tdVal,'sizing') &&
!endsWith(tdVal,'spacing') &&
!endsWith(tdVal,'side') &&
!endsWith(tdVal,'size') &&
!endsWith(tdVal,'left') &&
!endsWith(tdVal,'right') &&
!endsWith(tdVal,'hover') &&
!endsWith(tdVal,'icon') &&
!endsWith(tdVal,'over') &&
!endsWith(tdVal,'mp4') &&
!endsWith(tdVal,'ogv') &&
!endsWith(tdVal,'webm')){
//console.log(tdVal);
jQuery(this).find(":radio[value=2]").attr('checked',true);
}
else{
jQuery(this).find(":radio[value=0]").attr('checked',true);
}
});
You will need to tweak / modify this yourself to fit your specific needs, but this will work perfectly within the Chrome network inspect / developer tools of your choice.
Enjoy!