-
Notifications
You must be signed in to change notification settings - Fork 98
Open
Labels
bugSomething isn't workingSomething isn't working
Milestone
Description
If you create a checkbox with a default value true (checked) within a repeating field group, Fieldmanager fails to save the checkbox state when unchecked, even if 'save_empty' is set true.
You can work around this issue by setting 'false_value' to 'no', however setting 'false_value' to 0 does not work around the issue.
A test implementation follows. The desired outcome is that when you uncheck an instance of the checkbox 'in_repeating_group' and save the post, the fact that the box was not checked should be saved.
function ai_fm_checkbox_test() {
$fm = new Fieldmanager_Group( array(
'name' => 'checkbox-test',
'serialize_data' => false,
'add_to_prefix' => false,
'children' => array(
'not_in_group' => new Fieldmanager_Checkbox( array(
'label' => __( 'Not in a group', 'ai' ),
'default_value' => true,
'save_empty' => true,
'description' => __( 'This saves fine', 'ai' ),
) ),
'group' => new Fieldmanager_Group( array(
'label' => __( 'Group', 'ai' ),
'children' => array(
'in_group' => new Fieldmanager_Checkbox( array(
'label' => __( 'In a group', 'ai' ),
'default_value' => true,
'save_empty' => true,
'description' => __( 'This saves fine', 'ai' ),
) ),
),
) ),
'repeating_group' => new Fieldmanager_Group( array(
'label' => __( 'Repeating Group', 'ai' ),
'limit' => 0,
'children' => array(
'in_repeating_group' => new Fieldmanager_Checkbox( array(
'label' => __( 'In a group', 'ai' ),
'default_value' => true,
'save_empty' => true,
'description' => __( 'This checkbox does not save if unchecked', 'ai' ),
) ),
'text' => new Fieldmanager_TextField( array(
'label' => __( 'Text field', 'ai' ),
'description' => __( 'Even if the group is not empty, an unchecked checkbox does not save.', 'ai' ),
) ),
),
) ),
),
) );
$fm->add_meta_box( __( 'Unsaved checkbox test', 'ai' ), array( 'post' ), 'normal', 'default' );
}
add_action( 'fm_post_post', 'ai_fm_checkbox_test' );Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working