The code below adds a custom input field to the attachments editor. How can I convert the text input to a checkbox and get/set the value of the checkbox on load and save?
Note: "input" => "checkbox"
does not work 🙁
function image_attachment_fields_to_edit($form_fields, $post) {
$form_fields["imageLinksTo"] = array(
"label" => __("Image Links To"),
"input" => "text",
"value" => get_post_meta($post->ID, "_imageLinksTo", true)
);
return $form_fields;
}
function image_attachment_fields_to_save($post, $attachment) {
if( isset($attachment['imageLinksTo']) ){
update_post_meta($post['ID'], '_imageLinksTo', $attachment['imageLinksTo']);
}
return $post;
}
add_filter("attachment_fields_to_edit", "image_attachment_fields_to_edit", null, 2);
add_filter("attachment_fields_to_save", "image_attachment_fields_to_save", null, 2);
Set the ‘input’ to ‘html’ and write out the html for the input:
Saving works just as you did above, but you’re checking against a checkbox value instead, so you’ll need to update to true if isset() and update to false if not.
Below is a complete block for adding an IsLogo checkbox , including the saving :
my 2 cents.