Tôi đang cố gắng đặt meta_box với một hộp kiểm duy nhất, mọi thứ đều ổn, tuy nhiên nếu tôi bỏ chọn nó và lưu bài đăng, nó sẽ đánh dấu lại là đã chọn, tôi đã xem nhưng tôi không thể tìm thấy lỗi của mình.
Hãy xem một mã của tôi.
function am_checkbox_option() {
global $post;
$custom = get_post_custom($post->ID);
$front_event = $custom["front_event"][0];
wp_nonce_field(__FILE__, 'am_front_event');
if ( $front_event ) {
$checked = "checked=\"checked\"";
} else {
$checked = "";
}
?>
<label>Display Content? (type yes):</label>
<input type="checkbox" name="front_event" value="true" <?php echo $checked; ?> />
<?php
}
}
add_action('save_post', function() {
if ( defined( 'DOING_AUTOSAVE') && DOING_AUTOSAVE ) return;
global $post;
if ( $_POST && !wp_verify_nonce($_POST['am_front_event'], __FILE__) ) {
return;
}
if ( isset($_POST['front_event']) ) {
update_post_meta($post->ID, 'front_event', $_POST['front_event']);
}
});
Cảm ơn trước
add_meta_boxes
hành động để thêm metaboxes (cụ thể là có), theo ví dụ trênadd_metabox
trang codex. Bạn cũng sẽ có lợi trong việc đưa loại bài đăng và đối tượng bài đăng được chuyển đến cuộc gọi lại.