ACF filters
<?php
add_filter(
'acf/load_field/name=featured_attributes',
function ($field) {
$taxonomies = get_taxonomies(
[
'_builtin' => false,
],
'objects'
);
$field['choices'] = [];
foreach ($taxonomies as $taxonomy) {
if (strncmp('pa_', $taxonomy->name, 3) !== 0) {
continue;
}
$field['choices'][$taxonomy->name] = str_replace("Product ", "", $taxonomy->label);
}
return $field;
}
);
add_filter(
'acf/load_field/name=wc_edit_roles',
function ($field) {
$field['choices'] = array();
global $wp_roles;
$all_roles = $wp_roles->roles;
unset($all_roles['administrator']);
if (is_array($all_roles)) {
foreach ($all_roles as $name => $values) {
$field['choices'][$name] = $values['name'];
}
}
return $field;
}
);
add_filter('acf/allow_unfiltered_html', '__return_true');
add_filter(
'acf/update_value',
function ($value, $post_id, $field) {
if (substr($field['name'], -7) !== 'scripts') {
if ($field['type'] !== 'tab'
&& $field['type'] !== 'group'
&& $field['type'] !== 'repeater'
&& $field['type'] !== 'flexible_content'
&& $field['type'] !== 'clone'
&& !is_array($value) && !is_object($value)
) {
$value = wp_kses_post($value);
}
}
return $value;
},
1,
3
);