frm_add_entry_meta

Back to Top
Knowledge BaseEntry Management → frm_add_entry_meta

This hook allows you to make changes to a value saved to a field right before it is sent to the database.

Usage

add_filter('frm_add_entry_meta', 'custom_change_field_value');

Parameters

  • $new_values (array)

Examples

Formidable Hook - Helpful

Save a due date

Submitted by  — 8 years ago

Use this code if you have a date field in your form and you want calculate a due date dependent on the selected date. This example will save a due date (in a hidden field) that is five weekdays after the selected date. You must have a value entered in the hidden field for this code to be used.

add_filter('frm_add_entry_meta', 'change_due_date');
function change_due_date($new_values) {
   if($new_values['field_id'] == 6103 and !is_admin()) { // 776 is the Due Date field on the form - note that this field must have a value in it on form submit or this code will not work
		$daystoadd = '5 weekdays'; // 3 business days is our standard turnaround
	$new_values['meta_value'] = date( 'm/d/Y' , strtotime ( $daystoadd ));
   }
return $new_values;
}
Formidable Hook - Helpful

Add coupon codes

Submitted by  — 8 years ago

If you would like users to enter a coupon code in a form and get a discount depending on the code they entered, use this code example. In order for this code to work, you will need to create a new form and add a single line text field for the discount amount. Submit an entry for a discount amount. The coupon code will go in the entry key box. Submit a new entry for each coupon code.

add_filter('frm_add_entry_meta', 'apply_my_coupon');
function apply_my_coupon($values){
  if($values['field_id'] == 25){ //change 25 to the ID of the price field
    $coupon_field = 26; //change 26 to the ID of the coupon code field
    $discount_field = 30; //Change 30 to the ID of the discount amount field in the other form
    if(isset($_POST['item_meta'][$coupon_field]) and !empty($_POST['item_meta'][$coupon_field])){
       global $wpdb;
       $discount = $wpdb->get_var( $wpdb->prepare("SELECT meta_value FROM " . $wpdb->prefix ."frm_item_metas em LEFT JOIN " . $wpdb->prefix ."frm_items e ON (e.id=em.item_id) WHERE field_id=%d AND item_key = %s ", $discount_field, $_POST['item_meta'][$coupon_field])); //get the discount amount
       if($discount){
          $new_price = (float) $values['meta_value'] - (float) $discount; //calculate the discounted price
          $_POST['item_meta'][$values['field_id']] = $values['meta_value'] = $new_price;
       }
    }
  }
  return $values;
}
Formidable Hook - Helpful

Send email after submitting comment

Submitted by  — 8 years ago

If you'd like an email notification sent when a comment is made from the "view" entry page in the back-end, you'll need a bit of custom code for now. This can be used to respond to the user who submitted the entry, a notification to admins, or another group you'd like email notifications to go to.

add_filter('frm_add_entry_meta', 'custom_change_field_value');
function custom_change_field_value($new_values){
   if($new_values['field_id'] == 0){ //0 indicates this is a comment
       $subject = 'New comment'; //change email subject here
       $send_to = array('[email protected]', '[email protected]'); //set email addresses here
       $info = maybe_unserialize($new_values['meta_value']);
       $message = $info['comment'];
       foreach($send_to as $to)
         FrmNotification::send_notification_email($to, $subject, $message);
   }
   return $new_values;
}
If you would like to add your own example, click here.

Have something to add?

Click here to provide feedback on this page.