name = 'checkbox'; } /** * format_front_value * * @param $formatted * @param $unformatted * @param $post_id * @param $field * @param $form * * @return string */ function format_front_value($formatted, $unformatted, $post_id, $field, $form){ // vars $value = acf_get_array($unformatted); $array = array(); // loop values foreach($value as $v){ $array[] = acf_maybe_get($field['choices'], $v, $v); } // merge return implode(', ', $array); } /** * validate_front_value * * @param $valid * @param $value * @param $field * @param $input * @param $form * * @return false */ function validate_front_value($valid, $value, $field, $input, $form){ // bail early if(!$this->pre_validate_front_value($valid, $value, $field, $form)){ return $valid; } // custom value allowed if(!empty($field['allow_custom'])){ return $valid; } // vars $value = acf_get_array($value); $choices = acf_get_array($field['choices']); // empty choices if(empty($choices)){ return false; // value is always invalid as there no choice is allowed } // check values against choices if(!empty(array_diff($value, array_keys($choices)))){ return false; } // return return $valid; } } acf_new_instance('acfe_field_checkbox'); endif;