diff --git a/src/wp-admin/includes/class-wp-press-this.php b/src/wp-admin/includes/class-wp-press-this.php
index d44326e986..92d6f95fe3 100644
--- a/src/wp-admin/includes/class-wp-press-this.php
+++ b/src/wp-admin/includes/class-wp-press-this.php
@@ -1080,6 +1080,7 @@ class WP_Press_This {
$site_data = array(
'v' => ! empty( $data['v'] ) ? $data['v'] : '',
+ 'u' => ! empty( $data['u'] ) ? $data['u'] : '',
'hasData' => ! empty( $data ),
);
diff --git a/src/wp-admin/js/press-this.js b/src/wp-admin/js/press-this.js
index 0b83384af9..727948260e 100644
--- a/src/wp-admin/js/press-this.js
+++ b/src/wp-admin/js/press-this.js
@@ -194,32 +194,31 @@
* @param src string Source URL
* @param link string Optional destination link, for images (defaults to src)
*/
- function insertSelectedMedia( type, src, link ) {
- var newContent = '';
+ function insertSelectedMedia( $element ) {
+ var src, link, newContent = '';
if ( ! editor ) {
return;
}
- src = checkUrl( src );
- link = checkUrl( link );
+ src = checkUrl( $element.attr( 'data-wp-src' ) || '' );
+ link = checkUrl( data.u );
- if ( 'img' === type ) {
+ if ( $element.hasClass( 'is-image' ) ) {
if ( ! link ) {
link = src;
}
- newContent = '\n';
+ newContent = '
';
} else {
- newContent = '[embed]' + src + '[/embed]\n';
+ newContent = '[embed]' + src + '[/embed]';
}
if ( ! hasSetFocus ) {
- editor.focus();
+ editor.setContent( '
' + newContent + '
' + editor.getContent() ); + } else { + editor.execCommand( 'mceInsertContent', false, newContent ); } - - editor.execCommand( 'mceInsertContent', false, newContent ); - hasSetFocus = true; } /** @@ -334,14 +333,10 @@ function addImg( src, displaySrc, i ) { var $element = $mediaThumbWrap.clone().addClass( 'is-image' ); - $element.css( 'background-image', 'url(' + displaySrc + ')' ) + $element.attr( 'data-wp-src', src ).css( 'background-image', 'url(' + displaySrc + ')' ) .find( 'span' ).text( __( 'suggestedImgAlt' ).replace( '%d', i + 1 ) ); - $element.on( 'click keypress', function ( event ) { - if ( event.type === 'click' || event.keyCode === 13 ) { - insertSelectedMedia( 'img', src, data.u ); - } - } ).appendTo( $mediaList ); + $mediaList.append( $element ); } /** @@ -378,18 +373,13 @@ cssClass += ' is-video'; } - $element.find( 'span' ).text( __( 'suggestedEmbedAlt' ).replace( '%d', i + 1 ) ); + $element.attr( 'data-wp-src', src ).find( 'span' ).text( __( 'suggestedEmbedAlt' ).replace( '%d', i + 1 ) ); if ( displaySrc ) { $element.css( 'background-image', 'url(' + displaySrc + ')' ); } - $element.on( 'click keypress', function ( event ) { - if ( event.type === 'click' || event.keyCode === 13 ) { - insertSelectedMedia( 'embed', src ); - } - } ).appendTo( $mediaList ); - + $mediaList.append( $element ); found++; } ); } @@ -579,6 +569,10 @@ ed.on( 'focus', function() { hasSetFocus = true; } ); + }).on( 'click.press-this keypress.press-this', '.suggested-media-thumbnail', function( event ) { + if ( event.type === 'click' || event.keyCode === 13 ) { + insertSelectedMedia( $( this ) ); + } }); // Publish, Draft and Preview buttons