[wp-trac] [WordPress Trac] #32069: Check embeds list against oembed providers too.

WordPress Trac noreply at wordpress.org
Wed Apr 22 20:36:17 UTC 2015


#32069: Check embeds list against oembed providers too.
-------------------------+-------------------------
 Reporter:  stephdau     |      Owner:
     Type:  enhancement  |     Status:  new
 Priority:  normal       |  Milestone:  4.3
Component:  Press This   |    Version:  trunk
 Severity:  normal       |   Keywords:  needs-patch
  Focuses:               |
-------------------------+-------------------------
 We brought the concept of checking pressed URLs against core's list of
 oembed providers, which makes it possible to auto-embed media in the
 editor on page load, when scanning a Youtube page, etc.

 The check currently resides in the `_html` method. We should widen the
 scope of this check to the `_limit_embed()` method, so we can do away with
 the tests that check the sent `$src` against page regexes (not iframe
 ones):
 {{{
 } else if ( ! preg_match( '/\/\/(m|www)\.youtube\.com\/watch\?/', $src )
 // Youtube video page (www or mobile)
                             && ! preg_match( '/\/youtu\.be\/.+$/', $src )
 // Youtu.be video page
                             && ! preg_match( '/\/\/vimeo\.com\/[\d]+$/',
 $src )                   // Vimeo video page
                             && ! preg_match(
 '/\/\/(www\.)?dailymotion\.com\/video\/.+$/', $src ) // Daily Motion video
 page
                             && ! preg_match( '/\/\/soundcloud\.com\/.+$/',
 $src )                 // SoundCloud audio page
                             && ! preg_match(
 '/\/\/twitter\.com\/[^\/]+\/status\/[\d]+$/', $src ) // Twitter status
 page
                             && ! preg_match( '/\/\/vine\.co\/v\/[^\/]+/',
 $src ) ) {              // Vine video page
                         $src = '';
                 }
 }}}

 Once this is done, we could have the `get_embeds()` method also check the
 page URL, which would then have the embed that is auto-inserted in the
 editor also be part of the list of suggested media. This way, if someone
 lands on, say, a TED page, they will have both the auto-inserted embed, as
 well as a thumbnail to click, should they need it.

 Currently, the alternative would be to re-press the page to get the embed
 again.

 If we go that route, we'll also need to tweak the related code in the
 bookmarklet.
 {{{
         if ( href.match( /\/\/(www|m)\.youtube\.com\/watch/ ) ||
                 href.match( /\/\/vimeo\.com\/(.+\/)?([\d]+)$/ ) ||
                 href.match( /\/\/(www\.)?dailymotion\.com\/video\/.+$/ )
 ||
                 href.match( /\/\/soundcloud\.com\/.+$/ ) ||
                 href.match( /\/\/twitter\.com\/[^\/]+\/status\/[\d]+$/ )
 ||
                 href.match( /\/\/vine\.co\/v\/[^\/]+/ ) ) {

                 add( '_embeds[]', href );
         }
 }}}

 I'd do away with it altogether.

--
Ticket URL: <https://core.trac.wordpress.org/ticket/32069>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list