wp_rg_form_view

wp_rg_form_view

“wp_rg_form_view” refers to the form view database table used by Gravity Forms. The table is named using your site’s database prefix (“wp” is the default) plus “rg_form_view”.
Note: Once Gravity Forms version 2.3 is released, the table will have the new name “wp_gf_form_view”.
Further details for this table can be found viewing the Database Storage Structure Reference document for Gravity Forms version 2.3.

上次修改 2021.12.28

Creating Columns in the Form Editor

Creating Columns in the Form Editor

IntroductionDrag And dropDrag and Drop Not Working?Column Drop ZonesRow Drop ZonesDragging Fields to Create ColumnsResize Columns using Column HandlesKnown Issues or Limitations

Introduction

In this article, we’ll demonstrate how to work with columns in the Form Editor in the Gravity Forms 2.5. With this new streamlined release of the form editor, you create rows and columns of fields simply by dragging and dropping fields into the form editor:

Drag And drop

Fields can be placed on your form using drag and drop actions. Where you drag and drop determines how the columns will be created. We call the destination area that you release at the end of a drag action a “drop zone”.

Drag and Drop Not Working?

Drag and drop column control is only available to forms using Gravity Forms 2.5 standard markup. If you are using legacy markup, or using an older Gravity Forms version, then features like drag and drop will not be available.

If you wish to change to using the standard markup, you will need to disabling the Enable legacy markup toggle, found within the Form Settings → Form Options

Column Drop Zones

To create multiple columns of fields, drag fields into the Column Drop Zones to the left or right of existing fields in the editor.

Row Drop Zones

To create multiple rows of fields, drag fields into the Row Drop Zones to the top and bottom of an existing row of fields in the editor.

Dragging Fields to Create Columns

To create columns in the editor, drag and drop fields directly into a column drop zone and the editor will automatically add the column and re-size existing fields.

Select the Field in the editorGrab the Field HandleDrag the Field over the Column Drop ZoneDrop the Field and the Columns will automatically adjust

Resize Columns using Column Handles

To resize existing columns in the editor, use Column Handles to shrink or enlarge the width of a column.

Select the Field in the editorGrab the Column Handle to the right of the field, the Active Column HandleDrag left to shrink the column widthDrag right to enlarge the column width

Known Issues or Limitations

There is a maximum of 4 resizable columns. You cannot create a fifth.Columns are not supported on forms with legacy markup enabled.The field types of Page Break, Section Break, & Hidden cannot be placed in columns.

上次修改 2021.12.28

WordPress, Gravity Forms, and GDPR Compliance

WordPress, Gravity Forms, and GDPR Compliance

What Is GDPR?What Tools Can Help Me With Gravity Forms and GDPR Compliance?Collecting ConsentData RequestsGDPR PluginsFurther Questions and Answers Related To Personal DataCan I prevent the IP address being saved in the entry?Can I encrypt the field values before they are saved to the entry?Can I prevent Gravity Forms saving the entries to the database?Can the user view or edit their own submissions?Are the entries sent to gravityforms.com or other related domains?Does Gravity Forms set any cookies?

What Is GDPR?

On May 25, 2018, new regulations went into place within the European Union (EU) regarding treatment of customer data, known as General Data Protection Regulations (GDPR). There are many references available online, you can find one such overview here. We are not going to try and explain the implications or the interpretation of what is required, that is the realm of lawyers and consultants, but we do want to highlight some WordPress and Gravity Forms related tools that may be of interest here.

What Tools Can Help Me With Gravity Forms and GDPR Compliance?

Once again, we’re not lawyers so you’ll want to confirm this with a legal counsel or a subject matter expert as to what compliance means for you, but some of the following tools may prove useful.

Collecting Consent

Gravity Forms 2.4 introduced a Consent field amongst the Advanced Field types. You can review the field here.

If you are also using a feed based add-on with your form, such as MailChimp, you can configure conditional logic on the feed so it will only be processed if the user has checked a consent field. See the MailChimp Conditional List Subscriptions article for more details.

Data Requests

WordPress has added the Export Personal Data and Erase Personal Data tools. As of Gravity Forms 2.4, a new Personal Data tab has been added to the Form Settings to provide integration with these tools. See the article Personal Data Settings for more details.

GDPR Plugins

The following third-party plugins can help with GDPR compliance, and they have integrations for Gravity Forms:

WP GDPR Compliance by Van OnsThe GDPR Framework by Data443 Risk Mitigation, Inc. They also maintain an additional plugin for CCPA (California Consumer Privacy Act), CCPA FrameworkDouble Opt In for Gravity Forms by Albert Brückmann

Further Questions and Answers Related To Personal Data

Can I prevent the IP address being saved in the entry?

Yes. As of Gravity Forms 2.4, the new Personal Data tab on the Form Settings provides several settings to control which data is saved. Preventing the storage of IP Addresses is a checkbox option there. See the article Personal Data Settings for more details.

Can I encrypt the field values before they are saved to the entry?

We recommend the using the Encrypted Fields add-on by PluginOwl to configure encryption of the field values.

Can I prevent Gravity Forms saving the entries to the database?

It’s important to note that GDPR does not prohibit saving of personal data to the database, it just requires that you to gain consent before doing so.

While you can’t currently prevent Gravity Forms saving the entries you can use custom code or a third-party add-on to delete them during submission, after the notifications and add-on feeds are processed.

With Gravity Forms 2.4, you can set a Retention Policy to Retain, Trash, or Delete entries for a set number of days. This is available in the Personal Data tab in the Form Settings. On the Personal Data tab, you may also integrate with the WordPress Erase Personal Data tool and control what data is erased from the entry. See the article Personal Data Settings for more details.

Can the user view or edit their own submissions?

Allowing the user to view or edit their own submissions is not a built-in feature of Gravity Forms but is made possible by third-party add-ons such as GravityView by Katz Web Services, Inc..

As of Gravity Forms 2.4, the Personal Data tab of Form Settings allows you to integrate with the WordPress Export Personal Data tool and export chosen entry data to the customer.

Are the entries sent to gravityforms.com or other related domains?

No. Form submissions (entries) are saved to your sites WordPress database. The data would only leave your site if you configure a notification email or another add-on yourself to send it elsewhere.

Does Gravity Forms set any cookies?

Gravity Forms does not set any cookies on the front-end of the site. It does set a cookie on the entry detail page in the admin when an admin views the entry and checks the show empty fields checkbox, that cookie is named gf_display_empty_fields.

上次修改 2021.12.28

Why did the Stripe Feed Subscription Name Change?

Why did the Stripe Feed Subscription Name Change?

With Gravity Forms Stripe Add-On version 3.7.2 and greater you may occasionally notice the value of the Subscription Name setting on your Stripe feed changes to include additional numbers and underscores.
This can happen when the add-on finds a plan already exists in Stripe with an ID that matches the current feed configuration and one of the following scenarios is encountered:

The plan amount does not match the submission amount
The plan currency code does not match the submission currency code
The plan billing cycle does not match the feed billing cycle

When the add-on determines the existing plan is not suitable for the submission being processed it appends the current date and time formatted with underscores (e.g. _2020_07_29_10_27_39) to the feed Subscription Name and updates the feed in the database. It then creates a new plan in Stripe based on the updated feed configuration. This change ensures that the customer is billed correctly.

上次修改 2021.12.28

Which PayPal Add-On should I use?

Which PayPal Add-On should I use?

IntroductionPayPal CheckoutLegacy PayPal Add-OnsUsing More Than OneOne-time paymentsRecurring payments

Notice: The Gravity Forms PayPal Commerce Platform Add-On has been renamed PayPal Checkout as of version 2.0.
Introduction
With multiple APIs evolutions and various service interactions, PayPal add-ons have had to evolve, and fork, over the last 10 years of Gravity Forms. This makes the question of “which should I use?” a little trickier than most add-ons. We have put together this guide to try and help you with that question.
PayPal Checkout
In most cases, the PayPal Checkout Add-On is what you should use. It is the most up to date, uses the most current PayPal service API, and is the future home of most new functionality as we roll all previous add-on functions into this add-on.
Eventually, this will be the recommended add-on for all use cases, but at this time, PayPal’s Checkout service (previously known as PayPal Commerce Platform) is not available in all markets, so the legacy add-ons do still have a few specific use-cases, as described below.
Legacy PayPal Add-Ons
We classify our PayPal Standard, PayPal Pro, and PayPal Payments Pro Add-Ons as “legacy”, meaning they have been retired but are not end of life yet. The API’s they rely on have been deprecated by PayPal, so future operation is not guaranteed, though PayPal have not specified any termination dates for these services yet.
We still support these add-ons for now, but no new functionality is expected. Any future releases will purely be for required security or bug fix updates. We will eventually stop all support and development for all the retired add-ons, but at this time there is no official date for when this retirement process will begin. Keep an our on our blog for announcements.
Using More Than One
Multiple add-ons can be used with the same form as long as the PayPal/Credit Card fields and payment add-on feeds have conditional logic configured on them. See the Setting Up Conditional Payments in Gravity Forms article for an example.
One-time payments
One-time payments include products, services, and donations.

Feature
Recommended Add-On

Credit Card Field1 (PayPal Field)
PayPal Checkout Add-On

Credit Card Field (legacy)
PayPal Payments Pro Add-On

PayPal Checkout (PayPal Field)
PayPal Checkout Add-On

PayPal Checkout (legacy)
PayPal Standard Add-On

Venmo (PayPal Field)
PayPal Checkout Add-On

SEPA-Lastschrift (PayPal Field)
PayPal Checkout Add-On

Bancontact (PayPal Field)
PayPal Checkout Add-On

eps (PayPal Field)
PayPal Checkout Add-On

giropay (PayPal Field)
PayPal Checkout Add-On

iDEAL (PayPal Field)
PayPal Checkout Add-On

MyBank (PayPal Field)
PayPal Checkout Add-On

Przelewy24 (PayPal Field)
PayPal Checkout Add-On

Przelewy24 (PayPal Field)
PayPal Checkout Add-On

Simple PCI Compliance
PayPal Checkout Add-On

Strong Customer Authentication (SCA/PSD2)
PayPal Checkout Add-On

Recurring payments
Recurring payments include subscriptions and donations.

Feature
Recommended Add-On

Credit Card Field (deprecated)
PayPal Payments Pro Add-On

PayPal Checkout (PayPal Field)
PayPal Checkout Add-On

PayPal Checkout (legacy)
PayPal Standard Add-On

Simple PCI Compliance
PayPal Checkout Add-On

Strong Customer Authentication (SCA/PSD2)
PayPal Checkout Add-On

Credit Card Field support is currently in limited release on the PayPal Checkout (aka PayPal Commerce) platform.

上次修改 2021.12.28

Where’s that old forum topic?

Where’s that old forum topic?

Gravity Forms Official Help ChannelsAdditional Help ChannelsSome Third Party Gravity Forms ResourcesOther Q&A ChannelsWordPressAdvanced Custom FieldsBuddyPressWooCommerceWPMLCustomizations

In July 2013 we moved from forum based support to a ticket based system, with the forums remaining read-only for reference. Since that time we have released more than dozens updates for Gravity Forms, many new add-ons, and numerous add-on updates.
All these updates do sadly mean that a lot of the information contained in the forums is now extremely dated and, in some cases, can cause more trouble than it’s worth. Also, since the demise of pastie.org many of the code snippets shared in the forums have also been lost.
For these reasons we phased out the forums soon after introducing our customer support ticketing system.
In 2018 though, we did introduce a community hub at the request of our dedicated advocates, our Community Forum. This is not an official support channel, but offers community-to-community conversation with folks who may have solved the problem you are faced with now!
Gravity Forms Official Help Channels

Gravity Forms Support is staffed by our knowledgeable support engineers from around the world, and available to Gravity Forms valid license holders.
Search the Gravity Forms documentation at https://docs.gravityforms.com/
Ask your question on our Community Forum. This is not an official support channel, but offers community-to-community conversation with folks who may have already solved the problem you are faced with now!

Additional Help Channels
These forums and channels are not endorsed or supported by us in any official capacity, but are well established places that may help you on your search.
Some Third Party Gravity Forms Resources

Gravity Wiz for tutorials, code snippets, and add-ons (Gravity Perks)
GravityWP for tutorials, code snippets, add-ons, and add-on reviews
Gravity+ for tutorials and add-ons
Gravity Extend add-on directory and tutorials
The Gravity Forms, GravityView and Gravity Perks Users Facebook Group (unofficial)
The Gravity Forms Development Facebook Group (unofficial)
The Gravity Forms Slack Workspace (unofficial)
Search our library of third party plug-ins, which can be found here

Other Q&A Channels
The following resources are not specific to Gravity Forms but can help with more general topics. Search or ask a question at:

WordPress Development Stack Exchange
Stack Overflow
Quora
WP Help Forum
CSS-Tricks Help Forums

WordPress

Search the WordPress developer documentation at https://developer.wordpress.org/
Search the WordPress support forums or ask a question at https://wordpress.org/support/

Advanced Custom Fields

Search the ACF documentation at https://www.advancedcustomfields.com/resources/
Search the ACF support forums at https://support.advancedcustomfields.com/
The WordPress ACF Users Facebook Group

BuddyPress

Search the BuddyPress documentation at https://codex.buddypress.org/
Search the BuddyPress support forums at https://buddypress.org/support/

WooCommerce

Search the WooCommerce documentation at https://docs.woocommerce.com/
Search the WooCommerce support forums at https://wordpress.org/support/plugin/woocommerce
The Advanced WooCommerce Facebook Group
The WooCommerce Help & Share Facebook Group

WPML

Search the WPML documentation at https://wpml.org/documentation/
Search the WPML forums at https://wpml.org/forums/

Customizations
We are unable to provide customization services as part of our customer support. That is just not what we do. But we have partnered with Codeable to provide Gravity Forms customization services. They can help pair you with a developer based on your needs and budget. You can get started with Codeable here.

上次修改 2021.12.28

Where to Put Your Custom CSS

Where to Put Your Custom CSS

Use the WordPress CustomizerUsing a Third Party PluginModifying style.css

Use the WordPress Customizer
WordPress includes a tool to enable you to tailor the presentation of your theme. Included in that, is a way to add custom CSS code. Do the following:

From your site admin dashboard, click the Appearance option.
Under Appearance, choose Customize.
That will be take you into the theme customizer, where you can find the Additional CSS tool.

Remember, these custom CSS changes are kept with your theme, so will be lost if you change themes.
This external article covers the basics of the customizer, and as always, your can refer to the official WordPress documentation for a detailed list of the options.
Using a Third Party Plugin
There are third party plugins that allow you to add additional styles to your theme without editing the core theme files. They often allow you to target changes to only specific form pages, and it may keep your changes intact, even if you decide to switch themes or your theme provider issues an update.
The Custom CSS & JS Pro plugin by SilkyPress.com is a well established plugin with good supporting documentation. There are also other plugins that do similar things. Try searching our community plugins library or the WordPress plugin directory.
Modifying style.css
If you are comfortable with editing and modifying cascading style sheets (CSS), then you can make custom site wide changes to how your Gravity Forms are displayed by manipulating your theme’s style.css file. We recommended this approach only for users with at least moderate CSS experience, as the interactions and complexity of style sheets can mount up quickly.
The location of the style.css file is not consistent across the many themes available. Often the theme’s style.css file is located in the in the root (or top level) of the theme folder on the web server hosting your site, but theme developers can choose to place them somewhere else within their theme’s folder structure. Check out this article (external site) for some advice on how to locate and access the theme’s CSS file.
Remember: Your first step should always be to back up the CSS file before you modify it!
We cannot really advise where to put your style additions within your style.css file, as their organization varies immensely from theme to theme. If in doubt, or your changes do not seem to be working, review any documentation that accompanies your theme, or contact your theme provider.

上次修改 2021.12.28

Where Do I Put This Code?

Where Do I Put This Code?

IntroductionImportant!CSSJavascript/jQueryPHPThird Party Plug-Ins

Introduction

Depending on what code you are trying to add, and the complexity of the theme you are using, there can be a number of different places that code snippets can be added to extend your forms. This article covers most of the common options.

Important!

Replacing or updating your theme can overwrite the theme directory in your site folder, and that means modifications like these you may have made to files there will be lost. Always keep regular back-ups, consider the use of a child theme, and check out some of the third party plug-ins that provide safer alternatives for adding code.

CSS

CSS code will typically look something like this:

body .gform_wrapper { border:1px solid red }

In most cases, custom CSS should be pasted at the bottom of your theme’s style.css file. Your theme may have a custom.css. If so, pasting your custom styles at the very end of that file is preferable. Generally, when a theme includes any type of file named custom it indicates that this file should be used for custom code specific to the file type.

Javascript/jQuery

Javascript code will typically look something like this:

jQuery(document).ready(function($) {
$(‘.gfield_checkbox input’).click(function(){
var is_checked = $(this).is(‘:checked’);
var parent = $(this).parent(‘li’);
if(is_checked){
$(parent).addClass(‘selected’);
} else {
$(parent).removeClass(‘selected’);
}
});
});

Community Library Alternative The team at Gravity Wiz have a free Custom JavaScript add-on which you can use to include custom scripts for forms.(see disclaimer at bottom of article)

Some theme’s will provide an init.js or, even better, a custom.js file. If so, pasting the custom Javascript in either of these files would be ideal. If neither is present, you can wrap your Javascript code in a

Additional Information on using JavaScript with WordPress can be found here: https://codex.wordpress.org/Using_Javascript

PHP

PHP code will typically look something like this:

PHP snippets will almost always be pasted in your theme’s functions.php file. A few things to be aware of when adding PHP snippets.

Your functions.php will already have an opening

上次修改 2021.12.28

How Poll Results Work and Why They May Be Delayed

How Poll Results Work and Why They May Be Delayed

How Poll Results Are GeneratedResults Calculation Cron JobCan I Accelerate The Hourly Cron Job?

How Poll Results Are Generated
Each time a poll form submission occurs, results are processed. Those processed results are then displayed to the user. The results are then cached until another submission triggers them to need to be rebuilt again.
In some rare cases, when there are thousands of submissions on a particular poll, the results may not be able to be generated quickly, and thus the results displayed may be behind the actual submissions.
Results Calculation Cron Job
If results take longer than five seconds to generate, a cron is created which will attempt to rebuild the results hourly. Once the cron is created, it will attempt every hour to complete the result generation.
Simply giving some time for the results to be generated will allow the data to once again become accurate.
Can I Accelerate The Hourly Cron Job?
Yes. With a bit of custom code, you can adjust the cron task to run more often. For example, a failure could attempt twice an hour rather than hourly. The snippet below will do that.
add_filter( ‘gform_polls_cron_schedule’, ‘cron_add_twice_hourly’ );
function cron_add_twice_hourly() {
// Adds once weekly to the existing schedules.
$schedule[‘twicehourly’] = array(
‘interval’ => 1800, // number of seconds in the interval
‘display’ => __( ‘Twice Hourly’ )
);
return $schedule;
}

Note: After inserting this snippet, you will need to deactivate and reactivate the Polls Add-On to reschedule an existing task.

上次修改 2021.12.28

What To Do If You Suspect a Security Issue

What To Do If You Suspect a Security Issue

Determining if you have a threatCleaning up a compromised sitePreventing security issues

We take security issues very seriously and want to make sure that any security concerns are appropriately addressed in a timely manner. In this article, we will take a look at identifying a legitimate security concern and what to look for before submitting a ticket to support.
Note: This article is not intended for security researchers reporting a code vulnerability. For technical details on identifying code vulnerabilities, you may review our article on security practices in Gravity Forms.
Determining if you have a threat
If you have a security threat, many times it will be quite blatant but can sometimes be a bit subtle. Here are a few things to look for:

If any part of your site has been abruptly replaced with other content you do not recognize, your site has likely been hacked.
Suddenly being unable to log into your WordPress admin dashboard is another sign that your side may be compromised.
Check for unknown plugins. Some attacks will install plugins with clever names to hide their true intent.
If you have Webmaster Tools enabled, most times Google will alert you of possible malware on your site. Check your email for any alerts that may have been sent regarding a security issue.
Check the pages on your site. Many times when a site is compromised, links will be injected within either the footer or within the main content itself.
If you are accepting payments, check to ensure that any payment gateway information is indeed yours. If the payment information has changed, it’s a sure sign that your site has been compromised.

Cleaning up a compromised site
If your site has been compromised, it can sometimes be quite difficult to completely track it down. Here are a few things that can help you clean up a site after it has been compromised:

If possible, restore from the earliest possible backup. This will ensure that you have a clean copy of your files rather than attempting to track down the issue which can take quite a while. Always back up your site early and often as this is your best defense against a catastrophic issue.
Install iThemes Security and use the security scanner included with it. Often times, iThemes Security can easily locate malicious files hiding deep inside your WordPress installation.
Restore your WordPress core files with a fresh copy. As it is a good practice to never modify your WordPress core files and instead build a plugin that makes the changes you need, replacing your WordPress core files with a fresh copy can often make an impact if malicious software has modified them.
Reinstall any plugins and themes you may be using. Doing so will make sure you have a clean copy. Although most data should be stored in the database, be sure to create a backup first just in case anything goes wrong.
Change any passwords used to access your content. This includes your WordPress admin user passwords, FTP credentials, database credentials, and cPanel passwords. If you’re having trouble making those changes, your web host should be able to easily make the change for you.

Preventing security issues

Keep all of your plugins, themes, and WordPress core updated at all times. A large number of sites are compromised due to out of date plugins, themes, or WordPress core every day. Keeping everything up to date is your best defense against attacks.
Use secure passwords. Often times, the password being used is the weakest link in the chain. Passwords should be completely random and contain a mixture of upper-case and lower-case letters, numbers, and symbols.
Use security plugins for added protection. iThemes Security does a great job of preventing common attacks before they happen as well as BruteProtect will help prevent against brute force attacks.
Using secure, well-known plugins minimizes security risks as they are regularly updated and vulnerabilities are discovered rather quickly and before they are discovered by the public.

上次修改 2021.12.28