SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie Get More Out of Gravity Forms

Using Custom Variables in Google Analytics
Using Custom Variables in Google AnalyticsUsing Custom Variables in Google Analytics
Using Custom Variables in Google Analytics
Adrian Vender
 
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
arcware
 

Ähnlich wie Get More Out of Gravity Forms (16)

Kicking off with Zend Expressive and Doctrine ORM (PHPNW2016)
Kicking off with Zend Expressive and Doctrine ORM (PHPNW2016)Kicking off with Zend Expressive and Doctrine ORM (PHPNW2016)
Kicking off with Zend Expressive and Doctrine ORM (PHPNW2016)
 
Using Custom Variables in Google Analytics
Using Custom Variables in Google AnalyticsUsing Custom Variables in Google Analytics
Using Custom Variables in Google Analytics
 
Extending Java EE with CDI and JBoss Forge
Extending Java EE with CDI and JBoss ForgeExtending Java EE with CDI and JBoss Forge
Extending Java EE with CDI and JBoss Forge
 
Bronx study jam 1
Bronx study jam 1Bronx study jam 1
Bronx study jam 1
 
Vim Hacks
Vim HacksVim Hacks
Vim Hacks
 
Vim Hacks
Vim HacksVim Hacks
Vim Hacks
 
WordPress Form Builders
WordPress Form BuildersWordPress Form Builders
WordPress Form Builders
 
Refactoring
RefactoringRefactoring
Refactoring
 
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)
 
Do more, faster, by extending WP-CLI
Do more, faster, by extending WP-CLIDo more, faster, by extending WP-CLI
Do more, faster, by extending WP-CLI
 
New Symfony Tips & Tricks (SymfonyCon Paris 2015)
New Symfony Tips & Tricks (SymfonyCon Paris 2015)New Symfony Tips & Tricks (SymfonyCon Paris 2015)
New Symfony Tips & Tricks (SymfonyCon Paris 2015)
 
7 Tips on Getting Your Theme Approved the First Time
7 Tips on Getting Your Theme Approved the First Time7 Tips on Getting Your Theme Approved the First Time
7 Tips on Getting Your Theme Approved the First Time
 
Writing Software not Code with Cucumber
Writing Software not Code with CucumberWriting Software not Code with Cucumber
Writing Software not Code with Cucumber
 
Behold! The Happy Path To Captivate Your Users With Stunning CLI Apps!
Behold! The Happy Path To Captivate Your Users With Stunning CLI Apps!Behold! The Happy Path To Captivate Your Users With Stunning CLI Apps!
Behold! The Happy Path To Captivate Your Users With Stunning CLI Apps!
 
Polumorphism
PolumorphismPolumorphism
Polumorphism
 
Curso Symfony - Clase 4
Curso Symfony - Clase 4Curso Symfony - Clase 4
Curso Symfony - Clase 4
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

Get More Out of Gravity Forms