WPThumbs
Themes Plugins By purpose By industry Best-of lists Fix it guides
Free Plugin by Jory Hogeveen v1.6.0

Pods Gravity Forms Add-On

Integrate with Gravity Forms to create a Pod item from a form submission.

Pods Gravity Forms Add-On

The facts

Rating
5★ from 7
Active installs
1k+
Price
Free
Last updated
24 Feb 2026
Added
Mar 2016
Requires WP
6.3
Tested up to
WP 7.0.4
Requires PHP
7.2
Downloads
37,309

Our analysis

AI-assisted

Pods Gravity Forms Add-On is a WordPress plugin that integrates Pods with Gravity Forms, allowing you to sync form entries with Pods relationships. It provides functionalities for mapping Gravity Forms list fields to Pods relationship fields and offers WP-CLI commands for bulk syncing entries.

This add-on is suitable for users who need to manage form submissions and their relationship data effectively, particularly those familiar with Pods and Gravity Forms.

Best for: This plugin is best for WordPress users who utilize Pods and Gravity Forms for data management.

What it does well

  • Integrates Pods with Gravity Forms
  • Allows syncing of form entries
  • Custom mapping of list fields to Pods
  • Includes WP-CLI commands for bulk syncing

Where it falls short

  • Requires both Pods and Gravity Forms to function
  • Limited information on additional features

Verdict

Pods Gravity Forms Add-On offers useful integration for managing form data within Pods. It is a practical tool for those already using the two systems.

From the developer

Jory Hogeveen's own description of Pods Gravity Forms Add-On, lightly tidied.

  • Requires: Pods 3.0+, Gravity Forms 1.9+
  • Demo: Want to try Pods GF out? Check out the Gravity Forms Live Demo and install the Pods and Pods Gravity Forms plugins once you’re there
  • Bugs/Ideas: Please report bugs or request features on GitHub

Special thanks to Rocketgenius for their sponsorship support and to Naomi C. Bush for her help in the initial add-on UI work.

WP-CLI Command for Syncing Entries

This add-on provides the ability to sync entries from a Form Submission and Entry Edit screen. To bulk sync all entries even prior to setting up a Pods Gravity Form Feed, you can run a WP-CLI command.

Example 1: Sync all entries for Form 123 first active Pod feed

wp pods-gf sync --form=123

Example 2: Sync all entries for Form 123 using a specific feed (even if it is inactive)

wp pods-gf sync --form=123 --feed=2

Mapping GF List Fields to a Pods Relationship field

You can map a GF List field to a Relationship field related to another Pod. Using the below examples you can customize how the automatic mapping works. By default, the list columns will map to the pod fields with the same labels.

Example 1: Customize what columns map to which Related Pod fields for Form ID 1, Field ID 2

Customizing a list field row can be done by using the pods_gf_field_columns_mapping filter, which has Form ID and Field ID variations (pods_gf_field_columns_mapping_{form_id} and pods_gf_field_columns_mapping_{form_id}_{field_id}).

add_filter( 'pods_gf_field_columns_mapping_1_2', 'my_columns_mapping', 10, 4 );

/**
 * Filter list columns mapping for related pod fields.
 *
 * @param array    $columns  List field columns.
 * @param array    $form     GF form.
 * @param GF_Field $gf_field GF field data.
 * @param Pods     $pod      Pods object.
 *
 * @return array
 */
function my_columns_mapping( $columns, $form, $gf_field, $related_obj ) {

    $columns[0] = 'first_field';
    $columns[1] = 'second_field';
    $columns[2] = 'third_field';

    return $columns;

}

Example 2: Customize a List row for Form ID 1, Field ID 2

Customizing a list field row can be done by using the pods_gf_field_column_row filter, which has Form ID and Field ID variations (pods_gf_field_column_row_{form_id} and pods_gf_field_column_row_{form_id}_{field_id}).

add_filter( 'pods_gf_field_column_row_1_2', 'my_column_row_override', 10, 6 );

/**
 * Filter list field row for relationship field saving purposes.
 *
 * @param array      $row         List field row.
 * @param array      $columns     List field columns.
 * @param array      $form        GF form.
 * @param GF_Field   $gf_field    GF field data.
 * @param array      $options     Pods GF options.
 * @param Pods|false $related_obj Related Pod object.
 *
 * @return array
 */
function my_column_row_override( $row, $columns, $form, $gf_field, $options, $related_obj ) {

    // Update certain row fields based on the value of specific column.
    if ( ! empty( $row['user_relationship_field'] ) ) {
        $user = get_userdata( (int) $row['user'] );

        // Set the post_title to match the User display name.
        if ( $user && ! is_wp_error( $user ) ) {
            $row['post_title'] = $user->display_name;
        }
    }

    return $row;

}

Read the full description on the official page →

Tagged as