We’re offering 20% off site-wide for a limited time!

Floaty loves learning languages!

Updates

Guest Post: A Complete Guide to Using the Weglot Multilanguage Plugin with GravityView

In this post, you’ll learn how to add multilanguage support for your site content, including any Views that you’ve created with GravityView.

Why You Need a Multilanguage WordPress plugin

In this increasingly global world, a multilanguage WordPress plugin and website can help you from two different angles.

First, because most websites now have a multilingual audience (even those targeting specific geographic areas), going multilingual helps you create a happier audience (more on this in a second).

Second, because people are searching in Google using all different languages, a multilanguage WordPress plugin can also help you reach more visitors by increasing your site’s visibility in Google search.

Let’s break those benefits down with some real data…

Continue reading

Thanks Given!

From November 25 to December 2, GravityView held our Giving Season sale, the biggest sale of the year. For the week, we committed to donating $5 from each sale to charities.

During the sale, we sold over 100 new licenses, which meant we raised over $500 for charity. That’s good—but it’s not as much impact as we wanted. So we’re giving more.

We are giving 4x more.

We have donated a total of $2,000 to the following non-profits:

  1. 👩🏽‍💻 Girls Who Code develops the next generation of women coders
  2. 🌳 Rainforest Trust helps protect rainforest, stops habitat loss before it begins, and saves endangered species
  3. 🌲 Offset Earth Plants trees & funds the world’s best climate crisis solutions
  4. 🐶 ASPCA helps rescue and protect vulnerable and needy animals
  5. 🏠 Habitat for Humanity ensures that families around the world have save and secure homes

And we give year-round.

In addition to these one-time donations, GravityView is committed to not contributing to climate change. We are now offsetting the carbon impact of our team’s travel by donating monthly to Offset Earth. We are also proud supporters of Girls Who Code, donating monthly since 2017.

Thank you.

Thanks to our amazing GravityView customers. You inspire us every day with what you do with our products. Your support allow us to develop and support our plugins while helping make the world a better place. We think that’s great. Thank you.

2019 Giving Season Sale

Our year’s biggest sale is live through Cyber Monday (December 2, 2019)

The whole site—including Lifetime Licenses!—is 25% off. Each day we are featuring a flash sale on a different essential Gravity Forms add-on!

Check out the Giving Season sale page


Giving Season fundraiser

In addition to the sale, we’re giving away money to charities: $5 of each purchase will be donated to charities. $1 will be donated to each of the following causes:

  1. 👩🏽‍💻 Teach code to women and minorities
  2. 🌲 Plant a tree
  3. 🌳 Save the rainforest
  4. 🐶 Help rescue animals
  5. 🏠 Build homes for people with low income

You can help plant trees 🌲

You can help us plant over 2,000 trees for free! Enter the fundraiser below and start earning points toward planting trees 👇

Introducing Import Entries 2.0

We just released a major update to our Gravity Forms Entry Importer plugin. It has a new look—and is far more powerful.

We’ve been working on this update for ten months, and are really excited to share it with you!

To celebrate the release of 2.0, we are having a limited-time sale of Import Entries 🥳👇

Screenshot showing the Gravity Forms CSV import process, with a drop zone to upload spreadsheets.
The new Import Entries starting screen.

This new importer is a beast. 🐲

Our Gravity Forms Entry Importer plugin was the best option to import entries into Gravity Forms, but it was underpowered. It required a lot of resources when presented with large CSVs. It was a useful tool, but didn’t always hold up under load.

Using 2.0, we imported a CSV with 100,000 rows of public IRS data. Why? Because we could.

Jeff Goldblum in Jurassic Park saying "Your scientists were so preoccupied with whether or not they could, they didn't stop to think if they should."
We got a bit carried away while testing Import Entries and uploaded 100k entries…

When was the last time you needed to upload 100,000 entries into Gravity Forms? And have them imported as custom post types? Never?

Well, the next time you need to, know that you can with Import Entries 2.0.

New feature: Create a new Gravity Forms form by uploading your CSV.

One of the most frequent requests we had for Entry Importer was to enable users to create new forms from a CSV. This is now possible.

Upload your CSV and the Importer will create a form for you on the fly. Just tell the plugin what type of field you want each column to be, and you’re all set.

There is a whole lot more to Gravity Forms Entry Importer 2.0

There are lots of new features in the release. Check out some of the docs below, and don’t forget to purchase a license now for 20% off!

If you have any questions, please let us know.

We’re happy to answer any of your questions about Import Entries (or literally anything else you can think of!). Contact us using our chat/email bubble or email us directly.

Just Released: GravityView 2.4!

📆 Happy Emoji Day! 🎡🤸‍♂️

July 17 is World Emoji Day, and also the release date of Version 2.4 of GravityView! This GravityView update includes much-requested functionality and bug fixes. Alas, there were no additional emoji included in GravityView. This was, indeed, an oversight. 😿

Here are some highlights of the release:

Display an entry counter with the {sequence} Merge Tag

Learn about the {sequence} Merge Tag.

We added a {sequence} Merge Tag, which allows you to add a counter to the results in a View. This is a handy addition. Check out the video above for more information, and you can read about the Merge Tag on our docs site.

Show all entries when exporting a CSV

Customers love the functionality in GravityView that allows exporting entries as CSV by adding /csv/ to the URL. That functionality had a limitation, though: by default, it would only export the number of entries shown on a page (with a default of twenty-five). We were asked many times “How do I export all my GravityView entries to CSV at once?”

The new "Show all in CSV" setting in GravityView.

We heard you: In 2.4, we added a checkbox to export all entries at once. To enable in your View, check the new “Show all in CSV” checkbox.

Changes to who can edit a View

We are changing the capabilities required to add and edit a View in GravityView. Before Version 2.4, users with the Author role were able to create and edit Views, even if they lacked a capability called unfiltered_html. This capability gives users the permission to add HTML to a site that may include code that isn’t safe, like external JavaScript. In 2.4, we tightened security by requiring users to have the unfiltered_html capability to edit a View.

We understand this may be an inconvenience, and apologize! Here’s how to add the required capability to an existing role (such as Author) on your site.

All the changes

Here’s the full changelog for the release. If you have any questions, please email us at support@gravityview.co and let us know!


2.4 on July 17, 2019

We tightened security by limiting who can edit Views. Read how to grant Authors access.

  • Added: A new Result Number field and {sequence} Merge Tag learn all about it!
  • Added: {date_updated} Merge Tag (see all GravityView Merge Tags)
  • Added: Option to output all CSV entries, instead of a single page of results
  • Fixed: Settings compatibility issues on Multisite
  • Fixed: CSV output for address fields contained Google Maps link
  • Fixed: When editing an entry in Gravity Forms, clicking the "Cancel" button would not exit edit mode
  • Fixed: Some fatal errors when Gravity Forms is deactivated while GravityView is active
  • Fixed: Search All Fields functionality with latest Gravity Forms

Developer Updates:

  • Breaking Change: Users without the unfiltered_html capability can no longer edit Views.
  • Added: gravityview/security/allow_unfiltered_html to not require unfiltered_html. Dangerous!
  • Added: gravityview/template/field/address/csv/delimiter filter for CSV output of addresses

How RateHotelBeds.com Uses GravityView to Review Hotel Beds Around the World

In this case study, we’re talking to Matt Power and Matt Hayter. Matt Power is a developer who uses GravityView for many projects, and Matt Hayter is the owner of one of those projects – RateHotelBeds.com.  This site uses GravityView to let users rate the beds at hotels around the world.

How did RateHotelBeds.com come about?

Matt Hayter: There were a couple events that led to the idea for RHB just over a year ago.  I read a book titled Millionaire Fastlane early last year, which is written by an author named M.J. DeMarco. The biggest thing I took out of the book was to always be on the lookout for “problems to solve”; if you touch a million people, you can make a million dollars. 

Westin

Within days of finishing the book, I was having a chat with Tracy, a podiatrist that works for me, and she was telling me about Westin Hotels, a high end hotel chain. She was telling me that they have amazing beds and that you can actually buy one of their brand of “Heavenly Beds.”  Then, I was saying how sometimes you can go to a really swish hotel somewhere and pay a lot of money, and then find out that the bed is too hard, or too soft and you can’t get good rest, which is so important when you are traveling.

The Westin “Heavenly Bed”

So I mused, “I wonder if there is a website which gets people to rate the hotel bed they’ve stayed in so that you know you’ll get a good bed when staying there?” To which she replied, “Oh, I’m sure there would be.” 

So, of course I did some online searches and couldn’t find any websites that focused on the beds/mattresses of hotels. So I decided to build one, not having a clue at the time how many challenges there would be to starting and promoting a website like that.

That’s where Matt Power came in and was just amazing, using GravityView and WordPress he’s helped me build a site which is fantastic, as well as teaching me so many things along the way.

What functionality were you looking for? What did you need to accomplish?  

Matt Power: My interest in WordPress lies more in developing the functionalities that make a site work, finding the solutions, like GravityView, to the more complex problems and joining all the technical dots that are usually too overwhelming for Website Owners or those new to WordPress. 

Although I do a lot of the frontend design I leverage a lot off existing designs and templates rather than building from scratch these days.  I lean towards clean and simple sites these days with a big focus on performance – no more fluff!

I was already an advanced user of Gravity Forms but had never had a need to present inputed form data on the frontend of a site.  Long story short, I did my research and GravityView was the clear preference over 2 or 3 others. 

When Matt (Hayter) came to me with the idea of his site I thought it was a fantastic and original idea. When I suggested the solution of having a “Hotel Bed Review” form that a registered user could submit but somehow have it display on the frontend to anyone visiting the site, I had no idea what product was out there that could achieve this. 

I was already an advanced user of Gravity Forms but had never had a need to present inputed form data on the frontend of a site.  Long story short, I did my research and GravityView was the clear preference over 2 or 3 others.  I simply relied on reviews and testimonials from people in the WordPress industry who I trusted.  The minute I installed the plugin I was sold, it was so intuitive and easy to use.

I simply relied on reviews and testimonials from people in the WordPress industry who I trusted.  The minute I installed the plugin I was sold, it was so intuitive and easy to use.

How did you use GravityView to let users leave a review and then publish it? Could you briefly walk us through the way it works on your site? 

Firstly, a user needs to register, this is how we capture the email address for marketing & newsletter purposes.  Once registered the user will see the “Leave a Review” option in the menu.  The “Leave a Review” form is fairly vanilla Gravity Forms and we try to capture enough information that it adds value but not too much that it is a deterrent to populate. 

Submit a Review
Submit a Review

Once the form is submitted it is obviously stored in a database.  Matt receives a notification and reviews the entry and if necessary corrects any typos in the Hotel details and ensures that the address is accurate.  He also adds the customized Booking.com affiliate link.  These few steps are not ideal as there is manual intervention but although it is manageable now we realize that down the track we will need to consider more automated ways of managing this process. 

If everything is okay, Matt then approves and the form will display as the most recent review on the Hotel Bed Reviews page.  Although the Reviewer leaves a rating we have also opened it up for other registered users to also leave ratings for the same review should they have stayed there also.

Hotel Bed Reviews
Hotel Bed Reviews

Do you have any future plans on the site for using GravityView? 

Yes, the big one for us and have just started integrating it into the site: Geomapping. We upgraded our membership recently to the All Access plan so we could make use of DIY Layout, Inline Editing and especially, Maps. Both Matt and I are really excited to get this feature up and running as it is perfect for this type of site. 

Really excited at the opportunities that lie ahead – I really think we are only just scratching the surface with GravityView.

Matt monetizes the site by including a Booking.com link on each entry that goes directly to that hotel and by the looks of it, we can integrate this into the text box that appears when you hover over the mapping pin on the map.  Really excited at the opportunities that lie ahead – I really think we are only just scratching the surface with GravityView.  I just want to lock myself in a room for a week and have a really good play with all the features.

What other projects have you used GravityView with? 

I have one other site that I actively use GravityView on—my own personal site that at this stage is solely focused on providing a comprehensive list of WordPress related affiliate programs. GravityView works perfectly for this. 

Displaying WordPress Plugins and Deals

I have a hidden form I fill out in the backend of the site with the Affiliate Program’s details which then presents cleanly on the frontend of the site.  I am also drafting a similar concept on my other site simply to present current deals that are out there in the WordPress world.  This is still in draft.


Thanks a ton to both Matts for their help with this case study! We hope their experiences are useful to you, too. Interested in doing a case study with us? Get in touch!

Maps 1.6: A cluster of improvements :-)

Our latest update to Maps is a big step forward. With marker clustering and “spiderfying”, the information on your map will be displayed more clearly than ever before.

Now that you can display multiple address fields on a single map, you can more powerfully visualize the information you collect on your site.

The improvements we made to our geocoding process will allow you to define your own coordinates. We have improved geocoding reliability as well as improved transparency when a coordinate search fails.

Here’s more information about the changes:

Improving how markers are displayed on a map

Marker clusters

When you have lots of markers in a single area, it can look messy. To visually represent how many markers are in an area when your map is zoomed out, you can now use marker clusters.

A map of Kenya with multiple markers grouped in a visual cluster, with a number representing the number of entries being displayed

When you click a cluster, it zooms to a level that contains all the markers in a group.

Clicking on a cluster zooms it in to the marker level

You are able to set the zoom level where you want the clustering to take place, or if you don’t want it, you can disable the functionality entirely.

When multiple markers are in the same place, we “spiderfy” them! 🕷🕸

If you have multiple businesses in the same building, their map markers can look like one single marker. In the new Maps, clicking a place with multiple markers expands them, so that each is visible.

What looks like a single marker is clicked, but it then expands to show there are multiple markers there.

If there are a lot of markers in the same place, it looks like the beginning of a spider web, which is where the “spiderfy” name comes from. Thanks to @jawj for the open-source script.

Multiple markers are displayed in a glorious, dizzying spiral

Multiple address fields for an entry

If your form has multiple address fields, you can now show them all as markers on the map. This is great, for example, when a business has multiple locations.

This single form submission has two address fields, and both of them are rendered on the map at the same time:

An Entry Map field is showing multiple markers at a time, something that was not previously possible

Geocoding Improvements

Easily define your own coordinates

It’s now easy to override the coordinates for an address. In Gravity Forms’ entry details screen, each address field now contains geocoding information inline, with a form to edit the coordinates:

Geocoding is now easy to override

The form to edit the coordinates will only be shown to users that have the capability to edit entries.

Better logging and error handling

Sometimes converting an address to geographic coordinates (“geocoding”) doesn’t work. In prior versions of Maps, it wasn’t easy to tell what was failing, and why. In Version 1.6, when geocoding an address fails, the plugin will add a note to the entry with the reason.


We’re positive you’ll love the new features—please let us know what you think!

GravityView 2.0 has arrived!

We’ve been working on GravityView 2.0 since December 2016, so we are super excited to finally share it with you! Our goal was simple: improve the core of GravityView.

The new plugin is powered by a brand-new engine that will serve us well for years to come. We won’t get too deep into the technical details in this post, but if you want to see what motivated the change, read more about the genesis of GravityView 2.0’s code here.

Reliability Comes First

When we made the big transition to 2.0, we wanted to make sure it went smoothly. How did we do that? By writing a lot of tests. Software testing can essentially be described as testing a statement like, “When GravityView does this thing, then that should happen.”

The previous release of GravityView had 1,808 tests. Version 2.0 has 3,369 tests, an 86% increase of tests. While tests don’t measure the quality of a plugin, they do reflect a commitment to making software stable and reliable. In sum, we’ve worked really hard to make 2.0 the most solid release possible.

What does that mean for you, the end user? Simply put, GravityView is now faster, more reliable, and more powerful.

New Features and Functionality

While the majority of the improvements in 2.0 are under-the-hood, there are quite a few new features.

The shortcode allows you to embed a GravityView Entry in a post, page, or in another View’s Custom Content field. Read this article for more information.

The Shortcode

The shortcode allows you to place any Field (from any Entry) anywhere you want via a shortcode.

There are many use cases for this shortcode, including outputting a link to edit or view a user profile, showing the approval status of the last submitted Entry, and thousands of others. You can read the full guide on our docs site.

Merge Tag Modifiers

3 New Merge Tag Modifiers

Gravity Forms uses a number of Merge Tags to allow you to dynamically populate submitted field values. To enhance Merge Tags, GravityView adds additional “modifiers” that allow you to format Merge Tags differently.

GravityView 2.0 adds 3 new Merge Tag Modifiers:

Check out this article on the topic for more information on using these Merge Tag modifiers. We’ve found them to be especially powerful in combination with DIY Layout!

oEmbed

Use oEmbed with Custom Content Fields

Want to embed YouTube videos, Tweets, images, and other media directly in your View? Now you can. Read more about oEmbed.

“Is Starred” Field

Entry Star

You can now display whether an Entry is starred in Gravity Forms via the Entry Star field. Additionally, you can now star/unstar it from the front end of your site (in a View). Previously, you could only do these tasks in the back end.

New Translations

World Flag

We’ve added Bosnian, Iranian, and Canadian (Québécois) French. We have also updated numerous other languages. Hvala, با تشکر, and Merci!


Read the full list of changes, new features, and technical details in our changelog.

Just released the next beta of GravityView 2.0

The next major release of GravityView has made great progress! If you are part of the beta program, you will see Beta 2 in your available plugin updates.

Gennady has been working away at rewriting major parts of GravityView, while also writing tests to make sure we have full backward compatibility. He recently wrote in our company Slack:

Gennady: Overall stuff is really falling into place: the last couple of days were pretty exciting…today things just fell into place and our tests have all green lights

It’s been over a year since Gennady started working on Version 2, and we’re getting close.

Interested in becoming an early adopter? Opt-in to beta releases by installing GravityView, then turn on “Become a Beta Tester” in your GravityView Settings (navigate to Views > Settings).

Personally, one of the things I’m excited about is how we’re passing data to the template files. The way the information is passed is now much more standardized (and pretty!), making it much easier for developers to use. You can check out the new Template_Context class here.


Version 2.0 – Beta 2 Release Notes

  • Add support for Gravity Forms 2.3
  • Don’t be as aggressive with the template deprecated notices, since mostly it affected DataTables v1
  • Add support for entries that contain sub-entries (getting ready for Joins)
  • Refactor logging: instead of using do_action( 'gravityview_log_notice', … );, use gravityview()->log->notice( 'instead' );!
  • Add our own utility class, to remove dependency on rgar(), rgget(), rgpost(). Instead, use \GV\Utils::_GET() for a GET request, \GV\Utils::_POST() for POST, or \GV\Utils::get() to access an item in an array or object
  • Clean out a ton of deprecated code
  • Refactor the License, Extension, and Addon classes
  • Add Widgets_Collection class
  • Rewrite Widgets to use new Widget_Collection class
  • Context is now passed to templates as a \GV\Template_Context class rather than stdClass Check out the code
  • BREAKING CHANGE: The actions called inside template files are no longer passed GravityView_View instances. They are now passed \GV\Template_Context objects. Affects the following actions: gravityview_list_body_before, gravityview_list_body_after, gravityview_entry_footer_before, gravityview_entry_footer_after, gravityview_entry_class, gravityview_entry_title_before, gravityview_entry_content_before, gravityview_entry_content_after, gravityview_table_body_before, gravityview_table_cells_before, gravityview_table_cells_after, gravityview_table_body_after. If you use the actions listed, please update your code!
  • Version 2 also includes all the updates/improvements made to version 1.x

GravityView 1.22.2 & Inline Edit 1.2.2

We’ve been busy working on major updates to GravityView, but we love releasing updates whenever we have improvements to share 😄

Here are the updates we’ve released in the past three weeks.


GravityView Updates

1.22.2 on December 7, 2017

  • Fixed: Fatal error when running Ultimate Member 2.0 beta
  • Fixed: Issue deleting entries when Advanced Filter rules don’t match
  • Fixed: Delete Entry messages not displaying when entry is deleted
  • Fixed: ACF shortcodes in WYSIWYG fields no longer processed since 1.22.1
  • Fixed: Fatal error when using old installations of Gravity Forms

Developer Updates:

  • Added: gravityview/edit_entry/unset_hidden_field_values filter to prevent deleting values for fields hidden by Conditional Logic

1.22.1.1 on November 30, 2017

  • Fixed: When displaying Email fields, PHP warning about StandalonePHPEnkoder.php

1.22.1 on November 29, 2017 =

  • Moved “Custom Content” field to top of field picker, in what Rafael calls the “Best idea of 2017 🏆”
  • Added: When Gravity Forms 2.3 is released, support for “Random” entry order will be enabled
  • Fixed: Entry oEmbeds not working when using “Plain” URL formats to embed
  • Fixed: Only published Views showing in Gravity Forms “Connected Views” menu
  • Fixed: Deleting entries can cause entries to be displayed from a different View when Advanced Filters is activated and multiple Views are embedded on a page
  • Fixed: Infinite loop when using shortcode inside ACF fields

Developer Updates:

  • Added: GravityView_HTML_Elements class for generating commonly-used HTML elements
  • Added: Way to disable front-end cookies for our friends in Europe (see code here)
  • Added: gravityview/metaboxes/data-source/before and gravityview/metaboxes/data-source/after hooks
  • Added: Second $args param added to gravityview_get_connected_views() function
  • Modified: Pass fifth parameter $input_type to GravityView_Template::assign_field_options method

Inline Edit Updates

1.2.2 on December 5, 2017 =

  • Fixed: Inline Edit now displays “Toggle Inline Edit” for each View embedded on a page
  • Fixed: Hitting return key would not always submit inline Name fields

1.2.1 on November 21, 2017 =

  • Fixed: Saving plugin settings
  • Fixed: Using a GravityView Galactic license key now works to activate Inline Edit

1.2 on November 20, 2017 =

  • Fixed: Editing by entry creator now works in GravityView
  • Fixed: Editing empty checkboxes in Gravity Forms
  • Updated translations. Thanks Erik van Beek (Dutch) and Juan Pedro (Spanish)!
  • GravityView functionality now requires GravityView 1.22 or newer