18
votes

I keep trying to setup a notification when a form is submitted but I'm not getting the emails. When I go back in to edit the notification, it is not there. It's like it is not saving that. Then I noticed this on the notifications page: function WP_List_Table::get_columns() must be over-ridden in a sub-class. Any idea what that means?

Note: It is saving the submissions in the entries area of the plugin.

6

6 Answers

48
votes

There is a simple fix for this without upgrading Gravity Forms, but you'd have to edit a plugin file for Gravity Forms.

in notification.php, in the class

GFNotificationTable extends WP_List_Table { ...

Add this method:

    function get_columns() {
        $columns = array(
                'name' => 'Name',
                'subject' => 'Subject'
                );
        return $columns;
    }

The same solution can be applied to any plugin where you're seeing this problem. The columns array just needs to match the names set as $this->_column_headers.

40
votes

Adding to the previous answer, to fully fix the problem you'll need to also place that same function:

function get_columns() {
        $columns = array(
                'name' => 'Name',
                'subject' => 'Subject'
                );
        return $columns;
    }

In the GF form_settings.php file under the class GFConfirmationTable extends WP_List_Table.

The first fixes the Notifications error and this fixes the Confirmations error.

4
votes

I figured it out. Once I put the license key into the settings, I was able to download the update. Installed and the error went away.

3
votes

You also have to add it to: class GFAddOnFeedsTable extends WP_List_Table of file "class-gf-feed-addon.php" in includes/addons folder in order for add ons to work.

function get_columns() {
    $columns = array(
            'name' => 'Name',
            'subject' => 'Subject'
            );
    return $columns;
}
1
votes

You have to try this code inside wp-admin/includes/class-wp-list-table.php

Copy and paste this code inside the function public function get_columns() at line 872.

$columns = array(
'name' => 'Name',
'subject' => 'Subject'
);
return $columns;
-2
votes

I have tried this code snippet and it worked!

function get_columns() {
    $columns = array(
            'name' => 'Name',
            'subject' => 'Subject'
            );
    return $columns;
}