Wordpress media upload extra field
How do I make another field available in the wordpress media panel?
Currently you have all your necesary fields, although I need to add one extra to capture some extra details.
I am using a flash playe开发者_开发百科r that looks for a set of fields, ideally I would like to a field called video_url
Any ideas?
I'm not sure how to add an extra field inside the media panel... but you could use Magic Field to create a media uploader and an extra field which will contain your extra details... Learn more about Magic Field Plugin here : http://wordpress.org/extend/plugins/magic-fields/
Came up with this solution.
function rt_image_attachment_fields_to_edit($form_fields, $post) {
// $form_fields is a an array of fields to include in the attachment form
// $post is nothing but attachment record in the database
// $post->post_type == 'attachment'
// attachments are considered as posts in WordPress. So value of post_type in wp_posts table will be attachment
// now add our custom field to the $form_fields array
// input type="text" name/id="attachments[$attachment->ID][custom1]"
$form_fields["rt-image-link"] = array(
"label" => __("Video URL"),
"input" => "text", // this is default if "input" is omitted
"value" => get_post_meta($post->ID, "_rt-image-link", true),
"helps" => __(""),
);
$form_fields["rt-video-link"] = array(
"label" => __("Library Ref"),
"input" => "text", // this is default if "input" is omitted
"value" => get_post_meta($post->ID, "_rt-video-link", true),
"helps" => __(""),
);
return $form_fields;
}
// now attach our function to the hook
add_filter("attachment_fields_to_edit", "rt_image_attachment_fields_to_edit", null, 2);
function rt_image_attachment_fields_to_save($post, $attachment) {
// $attachment part of the form $_POST ($_POST[attachments][postID])
// $post['post_type'] == 'attachment'
if( isset($attachment['rt-image-link']) ){
// update_post_meta(postID, meta_key, meta_value);
update_post_meta($post['ID'], '_rt-image-link', $attachment['rt-image-link']);
}
if( isset($attachment['rt-video-link']) ){
// update_post_meta(postID, meta_key, meta_value);
update_post_meta($post['ID'], '_rt-video-link', $attachment['rt-video-link']);
}
return $post;
}
// now attach our function to the hook.
add_filter("attachment_fields_to_save", "rt_image_attachment_fields_to_save", null , 2);
精彩评论