/**
* ACF fix for term meta
* replace {{custom_term_meta_x}} by your ACF term custom field name
* TODO: loop over all term_meta to auto-generate filters
*
* https://support.advancedcustomfields.com/forums/topic/how-to-use-wp-term-meta-on-acf-the-easy-way/
*/
function acf_update_term_meta( $value, $post_id, $field ) {
$term_id = (int) filter_var( $post_id, FILTER_SANITIZE_NUMBER_INT );
if ( $term_id > 0 ) {
update_term_meta( $term_id, $field['name'], $value );
}
return $value;
}
add_filter( 'acf/update_value/name={{custom_term_meta_1}}', 'acf_update_term_meta', 10, 3 );
add_filter( 'acf/update_value/name={{custom_term_meta_2}}', 'acf_update_term_meta', 10, 3 );
function acf_load_term_meta( $value, $post_id, $field ) {
$term_id = (int) filter_var( $post_id, FILTER_SANITIZE_NUMBER_INT );
if ( $term_id > 0 ) {
$value = get_term_meta( $term_id, $field['name'], true );
}
return $value;
}
add_filter( 'acf/load_value/name={{custom_term_meta_1}}', 'acf_load_term_meta', 10, 3 );
add_filter( 'acf/load_value/name={{custom_term_meta_2}}', 'acf_load_term_meta', 10, 3 );