Skip to content

Commit 7cd677b

Browse files
committed
gpi-enable-wpml-for-custom-messages.php: Added snippet to use WPML String Translate for custom messages.
1 parent 4eac0cd commit 7cd677b

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
/**
3+
* Gravity Perks // Limit Submissions // Enable `WPML String Translate` for Custom Insufficient,
4+
* Exhausted and Available Inventory Messages.
5+
* https://gravitywiz.com/documentation/gravity-forms-inventory/
6+
*/
7+
add_filter( 'gform_pre_render', function( $form ) {
8+
if ( ! function_exists( 'icl_register_string' ) || ! function_exists( 'gp_inventory' ) ) {
9+
return $form;
10+
}
11+
12+
$form_id = $form['id'];
13+
foreach ( $form['fields'] as $field ) {
14+
if ( rgar( $field, 'gpiMessageInventoryInsufficient', false ) ) {
15+
$name = "inventory-insufficient-message-{$form_id}-{$field->id}";
16+
icl_register_string( 'gp-inventory', $name, $field['gpiMessageInventoryInsufficient'] );
17+
add_filter( "gpi_inventory_insufficient_message_{$form_id}_{$field->id}", function( $message ) use ( $name ) {
18+
return apply_filters( 'wpml_translate_single_string', $message, 'gp-inventory', $name );
19+
} );
20+
}
21+
if ( rgar( $field, 'gpiMessageInventoryExhausted', false ) ) {
22+
$name = "inventory-exhausted-message-{$form_id}-{$field->id}";
23+
icl_register_string( 'gp-inventory', $name, $field['gpiMessageInventoryExhausted'] );
24+
add_filter( "gpi_inventory_exhausted_message_{$form_id}_{$field->id}", function( $message ) use ( $name ) {
25+
return apply_filters( 'wpml_translate_single_string', $message, 'gp-inventory', $name );
26+
} );
27+
}
28+
if ( rgar( $field, 'gpiMessageInventoryAvailable', false ) ) {
29+
$name = "inventory-available-message-{$form_id}-{$field->id}";
30+
icl_register_string( 'gp-inventory', $name, $field['gpiMessageInventoryAvailable'] );
31+
add_filter( "gpi_inventory_available_message_{$form_id}_{$field->id}", function( $message ) use ( $name ) {
32+
return apply_filters( 'wpml_translate_single_string', $message, 'gp-inventory', $name );
33+
} );
34+
}
35+
}
36+
37+
return $form;
38+
} );

0 commit comments

Comments
 (0)