Custom “radio button meta box” not saving correctly
-
I’m having trouble with my “custom meta box/write panel” script that contains radio buttons. (see below)…It currently does not seem to save the selection made after publishing the custom post type, not sure what Ive missed???
How I plan to utilize this essentially is by letting the client choose one of the radio button choices, and depending on what selection is made I will output that as a class into an anchor tag to help instantiate a specific image overlay.Thank you for your help!
<?php add_action( 'add_meta_boxes', 'musicreleases_linktype_meta_box_add' ); function musicreleases_linktype_meta_box_add() { add_meta_box( 'musicreleases_linktype_meta_id', 'Link Type (Optional)', 'musicreleases_linktype_meta_box_cb', 'eprmusicrelease', 'normal', 'low' ); } function musicreleases_linktype_meta_box_cb( $post ) { $values = get_post_custom( $post->ID ); $radio = isset( $values['meta_box_musicreleases_linktype'] ) ? esc_attr( $values['meta_box_musicreleases_linktype'][0] ) : ''; wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' ); ?> <p> <input type="radio" name="linktype" value="free" <?php echo ($radio); ?>/> Free<br /> <input type="radio" name="linktype" value="itunes" <?php echo ($radio); ?>/> iTunes<br /> <input type="radio" name="linktype" value="none" <?php echo ($radio); ?>/> None<br /> </p> <?php } add_action( 'save_post', 'musicreleases_linktype_meta_box_save' ); function musicreleases_linktype_meta_box_save( $post_id ) { if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; if( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'my_meta_box_nonce' ) ) return; if( !current_user_can( 'edit_post' ) ) return; $allowed = array( 'a' => array( 'href' => array() ) ); if( isset( $_POST['meta_box_musicreleases_linktype'] ) ) update_post_meta( $post_id, 'meta_box_musicreleases_linktype', wp_kses( $_POST['meta_box_musicreleases_linktype'], $allowed ) ); } ?>
- The topic ‘Custom “radio button meta box” not saving correctly’ is closed to new replies.