_nicename = __( 'Shipping', 'ninja-forms' ); add_filter( 'ninja-forms-field-settings-groups', array( $this, 'add_setting_group' ) ); add_filter( 'ninja_forms_merge_tag_value_shipping', array( $this, 'merge_tag_value' ), 10, 2 ); } public function add_setting_group( $groups ) { $groups[ 'advanced_shipping' ] = array( 'id' => 'advanced_shipping', 'label' => __( 'Advanced Shipping', 'ninja-forms' ), ); return $groups; } public function admin_form_element( $id, $value ) { $field = Ninja_Forms()->form()->get_field( $id ); $value = $field->get_setting( 'shipping_cost' ); switch( $field->get_setting( 'shipping_type' ) ){ case 'single': return ""; case 'select': $options = ''; foreach( $field->get_setting( 'shipping_options' ) as $option ){ $selected = ( $value == $option[ 'value' ] ) ? "selected" : ''; $options .= ""; } return ""; default: return ""; } } public function merge_tag_value( $value, $field ) { if( isset( $field[ 'shipping_type' ] ) ){ switch( $field[ 'shipping_type' ] ){ case 'single': $value = $field[ 'shipping_cost' ]; break; case 'select': $value = $field[ 'shipping_options' ]; break; } } $value = preg_replace ('/[^\d,\.]/', '', $value ); return $value; } }