Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
"Nowhere" location rule for Advanced Custom Fields - never matches
<?php
/*
Plugin Name: Advanced Custom Fields: Nowhere location rules
Description: Adds a "Nowhere" location rule in ACF
*/
add_filter('acf/location/rule_types', function($rules) {
$rules['Extra']['nowhere'] = 'Nowhere';
return $rules;
});
add_filter('acf/location/rule_operators/nowhere', function($choices) {
if(isset($choices['=='])) {
unset($choices['==']);
}
if(isset($choices['!='])) {
unset($choices['!=']);
}
$choices['nowhere'] = '-';
return $choices;
});
add_filter('acf/location/rule_values/nowhere', function($choices) {
return ['nowhere' => '-'];
});
add_filter('acf/location/rule_match/nowhere', function($match, $rule, $options) {
return false;
}, 10, 3);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment