_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;
}
}