Support

Account

Home Forums Backend Issues (wp-admin) Hide Custom Location Rule from UI

Solved

Hide Custom Location Rule from UI

  • I’ve made a Custom Location Rule for an acf add-on plugin. The problem is that the rule will only be used for field groups that will be coded into the plugin’s PHP so they won’t be seen in the back end.

    The Custom Location Rule is only useful for the plugin specific fields so I don’t want it to be seen in the ACF backend UI. Is it possible to keep the rule but not have it show in the options with some custom PHP?

  • Something like this might work. This has not been tested. The “current_screen” hook is the earliest hook you can use in this example and I do not know if this is too late to add the filters for the custom location rules.

    
     
    add_action('current_screen', 'maybe_add_filters');
    function maybe_add_filters() {
      if (function_exists('get_current_screen')) {
        $screen = get_current_screen();
        if ($screen->ID == 'acf-field-group') {
          return;
        }
      }
      
      // either not in admin or not editing a field group
      
      // add filters for location rules
      
      add_filter('acf/location/rule_types', 'acf_location_rules_types');
      // etc...
      
    }
    
  • Awesome thank you! Using the code like this did the trick –

    add_action('current_screen', 'maybe_add_filters');
    
    function maybe_add_filters() {
    
      if (function_exists('get_current_screen')) {
    
    	    $screen = get_current_screen();
    
    	    if ($screen->ID == 'acf') {
    	      
    	      		return true;
    
    	   		} else {
    
    	    		return false;
    	    	}
       		}
      }
    
    // Add in Rule Type
    add_filter('acf/location/rule_types', 'acf_location_rules_types');
    
    function acf_location_rules_types( $choices ) {
    	
    	if (maybe_add_filters()) {
    
        $choices['Other']['custom_field_types'] = 'ACF Custom Field Type';
    
        return $choices;
    
    	} else {
    		return $choices;
    	}
        
    }
    

    I’ll add this once I move all of the corresponding ACF field groups to the PHP code and everything should be good to go!

Viewing 3 posts - 1 through 3 (of 3 total)

The topic ‘Hide Custom Location Rule from UI’ is closed to new replies.