Created
October 29, 2013 22:54
-
-
Save bMinaise/7224150 to your computer and use it in GitHub Desktop.
Placeholder plugin for Gravity Forms
http://www.wpbeginner.com/plugins/gravity-forms-most-beginner-friendly-wordpress-contact-form-plugin/
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* Add a custom field to the field editor (See editor screenshot) */ | |
add_action("gform_field_standard_settings", "my_standard_settings", 10, 2); | |
function my_standard_settings($position, $form_id){ | |
// Create settings on position 25 (right after Field Label) | |
if($position == 25){ | |
?> | |
<li class="admin_label_setting field_setting" style="display: list-item; "> | |
<label for="field_placeholder">Placeholder Text | |
<!-- Tooltip to help users understand what this field does --> | |
<a href="javascript:void(0);" class="tooltip tooltip_form_field_placeholder" tooltip="<h6>Placeholder</h6>Enter the placeholder/default text for this field.">(?)</a> | |
</label> | |
<input type="text" id="field_placeholder" class="fieldwidth-3" size="35" onkeyup="SetFieldProperty('placeholder', this.value);"> | |
</li> | |
<?php | |
} | |
} | |
/* Now we execute some javascript technicalitites for the field to load correctly */ | |
add_action("gform_editor_js", "my_gform_editor_js"); | |
function my_gform_editor_js(){ | |
?> | |
<script> | |
//binding to the load field settings event to initialize the checkbox | |
jQuery(document).bind("gform_load_field_settings", function(event, field, form){ | |
jQuery("#field_placeholder").val(field["placeholder"]); | |
}); | |
</script> | |
<?php | |
} | |
/* We use jQuery to read the placeholder value and inject it to its field */ | |
add_action('gform_enqueue_scripts',"my_gform_enqueue_scripts", 10, 2); | |
function my_gform_enqueue_scripts($form, $is_ajax=false){ | |
?> | |
<script> | |
jQuery(function(){ | |
<?php | |
/* Go through each one of the form fields */ | |
foreach($form['fields'] as $i=>$field){ | |
/* Check if the field has an assigned placeholder */ | |
if(isset($field['placeholder']) && !empty($field['placeholder'])){ | |
/* If a placeholder text exists, inject it as a new property to the field using jQuery */ | |
?> | |
jQuery('#input_<?php echo $form['id']?>_<?php echo $field['id']?>').attr('placeholder','<?php echo $field['placeholder']?>'); | |
<?php | |
} | |
} | |
?> | |
}); | |
</script> | |
<?php | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment