[wp-trac] [WordPress Trac] #32069: Press This: Check embeds list against oembed providers too.
WordPress Trac
noreply at wordpress.org
Thu Apr 23 20:15:02 UTC 2015
#32069: Press This: Check embeds list against oembed providers too.
-------------------------+------------------
Reporter: stephdau | Owner:
Type: enhancement | Status: new
Priority: normal | Milestone: 4.3
Component: Press This | Version: 4.2
Severity: normal | Resolution:
Keywords: needs-patch | Focuses:
-------------------------+------------------
Description changed by stephdau:
Old description:
> 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.
New description:
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 `get_suggested_content()` 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#comment:3>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list