From 07a523894a259101920177fececc8339a652d5e9 Mon Sep 17 00:00:00 2001 From: markjaquith Date: Tue, 6 Apr 2010 11:20:47 +0000 Subject: [PATCH] Make thumbnail work for custom post types even if the editor is not being displayed. props scribu. fixes #12792 git-svn-id: http://svn.automattic.com/wordpress/trunk@14015 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/media.php | 39 +++++++++++++++++------------ wp-admin/includes/post.php | 6 +++-- wp-includes/js/thickbox/thickbox.js | 2 +- wp-includes/script-loader.php | 2 +- 4 files changed, 29 insertions(+), 20 deletions(-) diff --git a/wp-admin/includes/media.php b/wp-admin/includes/media.php index 78a010016a..c9f6be4a09 100644 --- a/wp-admin/includes/media.php +++ b/wp-admin/includes/media.php @@ -351,18 +351,6 @@ if ( is_string($content_func) ) * @since unknown */ function media_buttons() { - global $post_ID, $temp_ID; - $uploading_iframe_ID = (int) (0 == $post_ID ? $temp_ID : $post_ID); - $context = apply_filters('media_buttons_context', __('Upload/Insert %s')); - $media_upload_iframe_src = "media-upload.php?post_id=$uploading_iframe_ID"; - $media_title = __('Add Media'); - $image_upload_iframe_src = apply_filters('image_upload_iframe_src', "$media_upload_iframe_src&type=image"); - $image_title = __('Add an Image'); - $video_upload_iframe_src = apply_filters('video_upload_iframe_src', "$media_upload_iframe_src&type=video"); - $video_title = __('Add Video'); - $audio_upload_iframe_src = apply_filters('audio_upload_iframe_src', "$media_upload_iframe_src&type=audio"); - $audio_title = __('Add Audio'); - $do_image = $do_audio = $do_video = true; if ( is_multisite() ) { $media_buttons = get_site_option( 'mu_media_buttons' ); @@ -376,17 +364,36 @@ function media_buttons() { $out = ''; if ( $do_image ) - $out .= "$image_title"; + $out .= _media_button(__('Add an Image'), 'images/media-button-image.gif', 'image'); if ( $do_video ) - $out .= "$video_title"; + $out .= _media_button(__('Add Video'), 'images/media-button-video.gif', 'video'); if ( $do_audio ) - $out .= "$audio_title"; - $out .= "$media_title"; + $out .= _media_button(__('Add Audio'), 'images/media-button-music.gif', 'audio'); + + $out .= _media_button(__('Add Media'), 'images/media-button-other.gif', 'media'); + + $context = apply_filters('media_buttons_context', __('Upload/Insert %s')); printf($context, $out); } add_action( 'media_buttons', 'media_buttons' ); +function _media_button($title, $icon, $type) { + return "$title"; +} + +function get_upload_iframe_src($type) { + global $post_ID, $temp_ID; + $uploading_iframe_ID = (int) (0 == $post_ID ? $temp_ID : $post_ID); + $upload_iframe_src = add_query_arg('post_id', $uploading_iframe_ID, 'media-upload.php'); + + if ( 'media' != $type ) + $upload_iframe_src = add_query_arg('type', $type, $upload_iframe_src); + $upload_iframe_src = apply_filters($type . '_upload_iframe_src', $upload_iframe_src); + + return add_query_arg('TB_iframe', true, $upload_iframe_src); +} + /** * {@internal Missing Short Description}} * diff --git a/wp-admin/includes/post.php b/wp-admin/includes/post.php index 06bdabd53c..b0149e608f 100644 --- a/wp-admin/includes/post.php +++ b/wp-admin/includes/post.php @@ -1143,7 +1143,9 @@ function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) { */ function _wp_post_thumbnail_html( $thumbnail_id = NULL ) { global $content_width, $_wp_additional_image_sizes; - $content = '

' . esc_html__( 'Set featured image' ) . '

'; + + $set_thumbnail_link = '

%s

'; + $content = sprintf($set_thumbnail_link, esc_html__( 'Set featured image' )); if ( $thumbnail_id && get_post( $thumbnail_id ) ) { $old_content_width = $content_width; @@ -1153,7 +1155,7 @@ function _wp_post_thumbnail_html( $thumbnail_id = NULL ) { else $thumbnail_html = wp_get_attachment_image( $thumbnail_id, 'post-thumbnail' ); if ( !empty( $thumbnail_html ) ) { - $content = '' . $thumbnail_html . ''; + $content = sprintf($set_thumbnail_link, $thumbnail_html); $content .= '

' . esc_html__( 'Remove featured image' ) . '

'; } $content_width = $old_content_width; diff --git a/wp-includes/js/thickbox/thickbox.js b/wp-includes/js/thickbox/thickbox.js index 270c7d6fef..ef15eeda2e 100644 --- a/wp-includes/js/thickbox/thickbox.js +++ b/wp-includes/js/thickbox/thickbox.js @@ -23,7 +23,7 @@ jQuery(document).ready(function(){ //add thickbox to href & area elements that have a class of .thickbox function tb_init(domChunk){ - jQuery(domChunk).click(function(){ + jQuery(domChunk).live('click', function(){ var t = this.title || this.name || null; var a = this.href || this.alt; var g = this.rel || false; diff --git a/wp-includes/script-loader.php b/wp-includes/script-loader.php index 8986fa25ed..43c0f50b63 100644 --- a/wp-includes/script-loader.php +++ b/wp-includes/script-loader.php @@ -167,7 +167,7 @@ function wp_default_scripts( &$scripts ) { $scripts->add( 'jquery-autocomplete', "/wp-includes/js/jquery/autocomplete$suffix.js", array('jquery'), '1.1' ); $scripts->add_data( 'jquery-autocomplete', 'group', 1 ); - $scripts->add( 'thickbox', "/wp-includes/js/thickbox/thickbox.js", array('jquery'), '3.1-20100108'); + $scripts->add( 'thickbox', "/wp-includes/js/thickbox/thickbox.js", array('jquery'), '3.1-20104104'); $scripts->add_data( 'thickbox', 'group', 1 ); $scripts->localize( 'thickbox', 'thickboxL10n', array( 'next' => __('Next >'),