...

Add-On for Discord and Gravity Forms

The Add-On for Discord and Gravity Forms plugin has a useful hook for developers to use to further enhance its functionality.

gf_discord_embeds

TYPE ⇢ Filter

This filter allows developers to modify or override the Discord embed payload sent when a Gravity Form entry is submitted. The embed structure follows Discord’s embed object format and can be used to customize titles, descriptions, fields, colors, images, and more.

Structure of $embeds:

PHP
$embeds = [     [         'type'        => 'rich',         'color'       => hexdec( $color ), // Embed color as decimal         'author'      => [             'name' => $site_name,             'url'  => home_url()         ],         'title'       => $title,         'url'         => admin_url( 'admin.php?page=gf_entries&view=entry&id='.$form['id'].'&lid='.$entry['id'] ),         'description' => $message,         'fields'      => $facts, // Each fact is: ['name' => 'Label', 'value' => 'Value', 'inline' => bool]         'image'       => [             'url' => '' // Optional large image         ],         'thumbnail'   => [             'url' => $image // Site logo or fallback image         ],         'footer'      => [ // Only if footer is enabled             'text'     => $footer_text,             'icon_url' => GFDISC_PLUGIN_DIR.'img/wordpress-logo.png'         ],         'timestamp'   => 'ISO8601 string', // Optional, shown with footer     ] ]

Example Usage

PHP
/**  * Change embed color based on the form ID.  *  * @param array $embeds The current array of Discord embed objects.  * @param array $form   The Gravity Forms form object.  * @param array $entry  The Gravity Forms entry object.  *  * @return array Modified array of embed objects.  */ add_filter( 'gf_discord_embeds', function( $embeds, $form, $entry ) {     $form_id = (int) $form['id'];      // Get the current color if set, otherwise default to blue     $current_color = isset( $embeds[0][ 'color' ] ) ? $embeds[0][ 'color' ] : hexdec( '0000FF' );      // Choose a color based on form ID     switch ( $form_id ) {         case 1:             $embeds[0][ 'color' ] = hexdec( '00FF00' ); // Bright green             break;         case 2:             $embeds[0][ 'color' ] = hexdec( 'FF0000' ); // Red             break;         default:             $embeds[0][ 'color' ] = $current_color; // Keep the default color or the existing color             break;     }      return $embeds; }, 10, 3 );

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.

Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.