Including and Using Entry Meta with the Add-On Framework

Including and Using Entry Meta with the Add-On Framework

Introductionget_entry_meta()PropertiesExampleSaving a value to the Entry Meta keyAccessing the Entry Meta ValueDeleting the Entry Meta Value

Introduction
Entry meta data is custom data that』s stored and retrieved along with the entry object. For example, entry meta data may contain the results of a calculation made at the time of the entry submission, or a unique id for a subscriber returned by a mailing list service.
Any add-on which extends GFAddon, GFFeedAddOn, or GFPaymentAddOn can add custom entry meta.
get_entry_meta()
To add entry meta, override the get_entry_meta() function and return an associative array with the properties for each meta key your add-on is including.
Properties

label string
The label for the entry meta item.

is_numeric boolean
Used for sorting.

is_default_column boolean
Default columns appear in the entry list by default. Otherwise the user has to edit the columns and select the entry meta from the list.

update_entry_meta_callback string
The function that should be called when updating this entry meta value.

filter array
An array containing the configuration for the filter used on the results pages, the entry list search, and export entries page.
The array should contain one element: operators. e.g. 『operators』 => array( 『is』, 『isnot』, 『>』, 『<『 ) Example public function get_entry_meta( $entry_meta, $form_id ) { $entry_meta['simpleaddon_contact_id'] = array( 'label' => 'Simple Add-On Contact ID',
'is_numeric' => true,
'is_default_column' => true,
'update_entry_meta_callback' => array( $this, 'update_entry_meta' ),
'filter' => array(
'operators' => array( 'is', 'isnot', '>', '<' ) ) ); return $entry_meta; } public function update_entry_meta( $key, $lead, $form ) { $return ''; // return the value of the entry meta } Saving a value to the Entry Meta key In this example we are using gform_update_meta() to store the contact id returned by the third-party service during feed processing in the entry meta. public function process_feed( $feed, $entry, $form ) { $contact_id = $this->create_contact( $feed, $entry, $form );
gform_update_meta( $entry['id'], 'simpleaddon_contact_id', $contact_id );
$entry['simpleaddon_contact_id'] = $contact_id;

return $entry;
}

Accessing the Entry Meta Value
If you have access to the Entry Object then you could access the meta value like so:
$contact_id = rgar( $entry, 'simpleaddon_contact_id' );

If you don』t have access to the Entry Object but you do have the entry id then you can access the value by using gform_get_meta() like so:
$contact_id = gform_get_meta( $entry_id, 'simpleaddon_contact_id' );

Deleting the Entry Meta Value
The gform_delete_meta() function can be used to delete the meta value from the entry like so:
gform_delete_meta( $entry_id, 'simpleaddon_contact_id' );

發表回覆

您的電子郵箱地址不會被公開。 必填項已用 * 標註