Get More Out of Gravity Forms
Upcoming SlideShare
Loading in...5
×
 

Get More Out of Gravity Forms

on

  • 272 views

From my Vancouver WordPress Meet-up talk about to do neat-o things with the Gravity Forms plugin.

From my Vancouver WordPress Meet-up talk about to do neat-o things with the Gravity Forms plugin.

Statistics

Views

Total Views
272
Slideshare-icon Views on SlideShare
181
Embed Views
91

Actions

Likes
1
Downloads
2
Comments
0

2 Embeds 91

http://mandiwise.com 83
https://twitter.com 8

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Get More Out of Gravity Forms Get More Out of Gravity Forms Presentation Transcript

    • GET MORE OUT OF GRAVITY FORMS VANCOUVER WORDPRESS MEET-UP – MAY 15, 2014
    • WHAT WE'LL COVER: 1. The challenge 2. Gravity Forms vs. ... 3. Get more out of the box 4. Get more with hooks 5. Some gotchas
    • THE CHALLENGE
    • MUST-HAVES A form that would accept user-submitted nominations and save them as a custom post type A voting mechanism for each award category that only allowed a person to vote once per person per category
    • SOLUTION? Gravity Forms!
    • vs. Single license: $39 Single license: $0 + ??? User analytics: $19 File uploads: $39 Front-end posting: $39 Multi-part forms: $39 Conditional logic: $29 TOTAL: $165
    • OUT OF THE BOX MAGIC
    • FORM FIELDS IN A SNAP
    • USER-SUBMITTED POSTS
    • BUT WHAT ABOUT CPTS? There's a plugin for that.
    • NEEDED TO TURN THIS...
    • INTO THIS:
    • GRAVITY FORMS + CUSTOM POST TYPES Find it WP plugin directory: wordpress.org/plugins/gravity-forms-custom-post-types/ Better yet, get it from Github*: github.com/bradvin/gravity-forms-custom-post-types *No PHP error notices with WP DEBUG on.
    • FORMS IN MODALS (or another modal plugin) will allow you to easily show or or hide your form on demand. Fancybox
    • IN A THEME FILE hostedwith ❤by <div id="voting‐form" style="display:none">   <?php echo do_shortcode( '[gravityform id="6" title="false" description="false" ajax="true"]' ) ?> </div> <a href="#voting‐form" class="fancybox button">Vote Now</a> viewrawGravityFormsandFancybox GitHub Initially hidden form + Ajax submitting= no-fuss modal perfection!
    • IN THE WILD
    • IN THE WILD
    • GET MORE WITH HOOKS Around 200 actions & filters you can use to extend GF... www.gravityhelp.com/documentation/page/Developer_Docs
    • WHERE DOES IT GO? 1. Your theme's functions.php file 2. A functionality plugin
    • AUTO-POPULATE FIELDS Many ways to go about this! gform_field_value_[your custom param] gform_pre_render_[your form ID]
    • gform_field_value_[your custom param] Use this filter for text fields or pre-selection of options in a dropdown, etc. See the offcial docs .here hostedwith ❤by function my_city_population_function( $value ){     return 'Vancouver'; } add_filter( 'gform_field_value_my_city', 'my_city_population_function' ); viewrawDynamicallyPopulateGravityFormsTextField GitHub
    • gform_field_value_[your custom param]
    • gform_pre_render_[your form ID] Use this filter to pre-populate choices in a dropdown, etc. See the offcial docs .here Check out a sample Gist.
    • CUSTOM VALIDATION Be the boss of your form AND database! gform_validation_[your form ID]
    • gform_validation_[your form ID] hostedwith ❤by function my_custom_validation( $validation_result ) {     $form = $validation_result["form"];       // Sorry, you don't get to live in Vancouver...          if ( $_POST['input_1'] == 'Vancouver' ) {           $validation_result["is_valid"] = false;           foreach ( $form["fields"] as &$field ) {               // NOTE: Replace 1 with the field you would like to validate                          if ( $field["id"] == "1" ) {                 $field["failed_validation"] = true;                 $field["validation_message"] = "Sorry, you can't enter Vancouver here!";                 break;             }         }     }       // Assign modified $form object back to the validation result     $validation_result["form"] = $form;     return $validation_result; } add_filter( 'gform_validation_[your form ID]', 'my_custom_validation' ); viewrawGravityFormsCustomValidationExample GitHub See the offcial docs .here
    • RESTRICT UPLOAD SIZE There's no way to do this out of the box and you may not want users uploading 32MB files! There is a plugin for that, but it's buggy. Instead... Check out this Gist.
    • CUSTOM CHECK FOR DUPLICATES Preventing duplicates is easy... preventing a single user from submitting the same field value twice is harder. Check out this Gist.
    • SOME GOTCHAS Duplicate prevention (use ) Ajax and captcha And on the topic of spam... this plugin
    • THAT'S ALL FOLKS! Find me: and@mandiwise mandiwise.com All of the snippets: gist.github.com/mandiwise