name = 'acfe_recaptcha'; $this->label = __('reCAPTCHA', 'acf'); $this->category = 'jquery'; $this->defaults = array( 'required' => 0, 'disabled' => 0, 'readonly' => 0, 'version' => 'v2', 'v2_theme' => 'light', 'v2_size' => 'normal', 'v3_hide_logo' => false, 'site_key' => '', 'secret_key' => '', ); parent::__construct(); } function render_field_settings($field){ // Version acf_render_field_setting($field, array( 'label' => __('Version', 'acf'), 'instructions' => __('Select the reCaptcha version', 'acf'), 'type' => 'select', 'name' => 'version', 'choices' => array( 'v2' => __('reCaptcha V2', 'acf'), 'v3' => __('reCaptcha V3', 'acf'), ) )); // V2 Theme acf_render_field_setting($field, array( 'label' => __('Theme', 'acf'), 'instructions' => __('Select the reCaptcha theme', 'acf'), 'type' => 'select', 'name' => 'v2_theme', 'choices' => array( 'light' => __('Light', 'acf'), 'dark' => __('Dark', 'acf'), ), 'conditional_logic' => array( array( array( 'field' => 'version', 'operator' => '==', 'value' => 'v2', ) ) ) )); // V2 Size acf_render_field_setting($field, array( 'label' => __('Size', 'acf'), 'instructions' => __('Select the reCaptcha size', 'acf'), 'type' => 'select', 'name' => 'v2_size', 'choices' => array( 'normal' => __('Normal', 'acf'), 'compact' => __('Compact', 'acf'), ), 'conditional_logic' => array( array( array( 'field' => 'version', 'operator' => '==', 'value' => 'v2', ) ) ) )); // V3 Hide Logo acf_render_field_setting($field, array( 'label' => __('Hide logo', 'acf'), 'instructions' => __('Hide the reCaptcha logo', 'acf'), 'type' => 'true_false', 'name' => 'v3_hide_logo', 'ui' => true, 'conditional_logic' => array( array( array( 'field' => 'version', 'operator' => '==', 'value' => 'v3', ) ) ) )); // Site Key acf_render_field_setting($field, array( 'label' => __('Site key', 'acf'), 'instructions' => __('Enter the site key. reCaptcha API Admin', 'acf'), 'type' => 'text', 'name' => 'site_key', )); // Site Secret acf_render_field_setting($field, array( 'label' => __('Secret key', 'acf'), 'instructions' => __('Enter the secret key. reCaptcha API Admin', 'acf'), 'type' => 'text', 'name' => 'secret_key', )); } function prepare_field($field){ if($field['version'] === 'v3'){ $field['wrapper']['class'] = 'acf-hidden'; } return $field; } function render_field($field){ // Site key $site_key = acf_get_setting('acfe/field/recaptcha/site_key', $field['site_key']); // Version $field['version'] = acf_get_setting('acfe/field/recaptcha/version', $field['version']); // V2 if($field['version'] === 'v2'){ ?> 'acf-input-wrap acfe-field-recaptcha', 'data-site-key' => $site_key, 'data-version' => 'v2', 'data-size' => $field['v2_size'], 'data-theme' => $field['v2_theme'], ); $hidden_input = array( 'id' => $field['id'], 'name' => $field['name'], ); ?>
>
'acf-input-wrap acfe-field-recaptcha', 'data-site-key' => $site_key, 'data-version' => 'v3', ); $hidden_input = array( 'id' => $field['id'], 'name' => $field['name'], ); ?>
>
success)) return __('An error has occured.'); if($response->success === false){ $valid = false; } elseif($response->success === true){ $valid = true; } return $valid; } function update_value($value, $post_id, $field){ // Do not save field value return null; } } // initialize acf_register_field_type('acfe_field_recaptcha');