YouTube - Version 10.2

Version Description

Download this release

Release Info

Developer embedplus
Plugin Icon 128x128 YouTube
Version 10.2
Comparing to
See all releases

Code changes from version 10.1 to 10.2

Files changed (2) hide show
  1. readme.txt +5 -1
  2. youtube.php +45 -22
readme.txt CHANGED
@@ -4,7 +4,7 @@ Plugin Name: YouTube Embed
4
  Tags: accessibility, analytics, api, blocked youtube videos, cache, caching, channel, deleted youtube videos, effects, embed youtube, embedding youtube, featured image, get_locale, i18n, internationalization, l10n, language, lazy, lazy load, load, locale, localization, mobile, mute, no-cookie, oembed, page load, page speed, playlist, playlists, plugin, Reddit, responsive, rich snippets, origin, screen reader, secure, security, seo, short code, shortcode, sidebar, special effects, ssl, subtitles, thumbnail, thumbnail image, thumbnails, TinyMCE, translate, translator, video, video analytics, video plugin, video seo, video shortcode, video thumbnails, view count, volume, widget, wordpress security, wordpress youtube embed, xss, youtube, youtube api, youtube analytics, youtube embed, youtube impressions, youtube player, youtube playlist, youtube plugin, youtube shortcode, youtube snippets, youtube takedowns, youtube thumbnails, youtube plugin migration
5
  Requires at least: 3.1
6
  Tested up to: 4.2
7
- Stable tag: 10.1
8
  License: GPLv3 or later
9
 
10
  YouTube embed plugin. Embed responsive YouTube video players & playlists in posts & widgets. Add video thumbnails, analytics, SEO, caching...
@@ -17,6 +17,7 @@ YouTube embed plugin. Embed responsive YouTube video players & playlists in post
17
  * Site origin information with each embed code as an extra security measure. In YouTube's/Google's own words, checking this option "protects against malicious third-party JavaScript being injected into your page and hijacking control of your YouTube player." We especially recommend checking it as it adds higher security than the built-in YouTube embedding method that comes with the current version of WordPress (i.e. oembed).
18
  * Easy "Insert" button for both the Visual and Text mode of the editor
19
  * [Embed an entire channel as a playlist >>](https://www.youtube.com/watch?v=_9D4yMyd40g)
 
20
  * Volume level initialization ( [helpful for autoplay >>](http://www.embedplus.com/mute-volume-youtube-wordpress.aspx) )
21
  * iOS playback preferences
22
  * [Automatic localization/internationalization](http://www.embedplus.com/youtube-iso-639-1-language-codes.aspx) so you can set the player's interface language from English to another
@@ -140,6 +141,9 @@ You can also start and end each individual video at particular times. Like the a
140
 
141
  == Changelog ==
142
 
 
 
 
143
  = YouTube Embed 10.1 =
144
  Adds the ability to automatically migrate from another plugin's shortcode. Caching feature now allows lifetime settings. Improved compatibility with other plugins using the YouTube API.
145
 
4
  Tags: accessibility, analytics, api, blocked youtube videos, cache, caching, channel, deleted youtube videos, effects, embed youtube, embedding youtube, featured image, get_locale, i18n, internationalization, l10n, language, lazy, lazy load, load, locale, localization, mobile, mute, no-cookie, oembed, page load, page speed, playlist, playlists, plugin, Reddit, responsive, rich snippets, origin, screen reader, secure, security, seo, short code, shortcode, sidebar, special effects, ssl, subtitles, thumbnail, thumbnail image, thumbnails, TinyMCE, translate, translator, video, video analytics, video plugin, video seo, video shortcode, video thumbnails, view count, volume, widget, wordpress security, wordpress youtube embed, xss, youtube, youtube api, youtube analytics, youtube embed, youtube impressions, youtube player, youtube playlist, youtube plugin, youtube shortcode, youtube snippets, youtube takedowns, youtube thumbnails, youtube plugin migration
5
  Requires at least: 3.1
6
  Tested up to: 4.2
7
+ Stable tag: 10.2
8
  License: GPLv3 or later
9
 
10
  YouTube embed plugin. Embed responsive YouTube video players & playlists in posts & widgets. Add video thumbnails, analytics, SEO, caching...
17
  * Site origin information with each embed code as an extra security measure. In YouTube's/Google's own words, checking this option "protects against malicious third-party JavaScript being injected into your page and hijacking control of your YouTube player." We especially recommend checking it as it adds higher security than the built-in YouTube embedding method that comes with the current version of WordPress (i.e. oembed).
18
  * Easy "Insert" button for both the Visual and Text mode of the editor
19
  * [Embed an entire channel as a playlist >>](https://www.youtube.com/watch?v=_9D4yMyd40g)
20
+ * Start video settings for playlist embeds. You can now choose to start a playlist with a specific video or have the plugin automatically start with the most recently added video.
21
  * Volume level initialization ( [helpful for autoplay >>](http://www.embedplus.com/mute-volume-youtube-wordpress.aspx) )
22
  * iOS playback preferences
23
  * [Automatic localization/internationalization](http://www.embedplus.com/youtube-iso-639-1-language-codes.aspx) so you can set the player's interface language from English to another
141
 
142
  == Changelog ==
143
 
144
+ = YouTube Embed 10.2 =
145
+ Adds start video settings for playlist embeds. You can now choose to start a playlist with a specific video or have the plugin automatically start with the most recently added video.
146
+
147
  = YouTube Embed 10.1 =
148
  Adds the ability to automatically migrate from another plugin's shortcode. Caching feature now allows lifetime settings. Improved compatibility with other plugins using the YouTube API.
149
 
youtube.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: YouTube
4
  Plugin URI: http://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx
5
  Description: YouTube embed plugin with basic features and convenient defaults. Upgrade now to add tracking, instant video SEO tags, and much more!
6
- Version: 10.1
7
  Author: EmbedPlus Team
8
  Author URI: http://www.embedplus.com
9
  */
@@ -32,7 +32,7 @@
32
  class YouTubePrefs
33
  {
34
 
35
- public static $version = '10.1';
36
  public static $opt_version = 'version';
37
  public static $optembedwidth = null;
38
  public static $optembedheight = null;
@@ -62,6 +62,7 @@ class YouTubePrefs
62
  public static $opt_ssl = 'ssl';
63
  public static $opt_ogvideo = 'ogvideo';
64
  public static $opt_nocookie = 'nocookie';
 
65
  public static $opt_acctitle = 'acctitle';
66
  public static $opt_pro = 'pro';
67
  public static $opt_oldspacing = 'oldspacing';
@@ -94,9 +95,7 @@ class YouTubePrefs
94
  public static $badentities = array('×', '×', '–', '–', '&');
95
  public static $goodliterals = array('x', 'x', '--', '--', '&');
96
 
97
- /*
98
- listType
99
- */
100
  ///////////////////////////////////////////////////////////////////////////////////////////////////
101
  ///////////////////////////////////////////////////////////////////////////////////////////////////
102
  ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -150,6 +149,7 @@ class YouTubePrefs
150
  self::$opt_listType,
151
  self::$opt_wmode,
152
  self::$opt_vq,
 
153
  'list',
154
  'start',
155
  'end'
@@ -647,6 +647,7 @@ class YouTubePrefs
647
  $_pro = '';
648
  $_ssl = 0;
649
  $_nocookie = 0;
 
650
  $_acctitle = 0;
651
  $_ogvideo = 0;
652
  $_migrate = 0;
@@ -699,6 +700,7 @@ class YouTubePrefs
699
  $_pro = self::tryget($arroptions, self::$opt_pro, '');
700
  $_ssl = self::tryget($arroptions, self::$opt_ssl, 0);
701
  $_nocookie = self::tryget($arroptions, self::$opt_nocookie, 0);
 
702
  $_acctitle = self::tryget($arroptions, self::$opt_acctitle, 0);
703
  $_ogvideo = self::tryget($arroptions, self::$opt_ogvideo, 0);
704
  $_migrate = self::tryget($arroptions, self::$opt_migrate, 0);
@@ -750,6 +752,7 @@ class YouTubePrefs
750
  self::$opt_pro => $_pro,
751
  self::$opt_ssl => $_ssl,
752
  self::$opt_nocookie => $_nocookie,
 
753
  self::$opt_acctitle => $_acctitle,
754
  self::$opt_ogvideo => $_ogvideo,
755
  self::$opt_migrate => $_migrate,
@@ -806,7 +809,6 @@ class YouTubePrefs
806
  add_shortcode('youtube', array('YouTubePrefs', 'apply_prefs_shortcode_youtube'));
807
  add_shortcode('youtube_video', array('YouTubePrefs', 'apply_prefs_shortcode_youtube'));
808
  }
809
-
810
  }
811
  }
812
  else
@@ -828,7 +830,7 @@ class YouTubePrefs
828
  }
829
  return '';
830
  }
831
-
832
  public static function apply_prefs_shortcode_youtube($atts, $content = null)
833
  {
834
  $content = 'http://www.youtube.com/watch?v=' . trim($content);
@@ -840,7 +842,6 @@ class YouTubePrefs
840
  return '';
841
  }
842
 
843
-
844
  public static function apply_prefs_content($content)
845
  {
846
  $content = preg_replace_callback(self::$ytregex, "YouTubePrefs::get_html_content", $content);
@@ -1016,8 +1017,23 @@ class YouTubePrefs
1016
  }
1017
  }
1018
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1019
  $code1 = '<iframe ' . $dyntype . $centercode . ' id="_ytid_' . rand(10000, 99999) . '" width="' . self::$defaultwidth . '" height="' . self::$defaultheight .
1020
- '" ' . $dynsrc . 'src="//www.' . $youtubebaseurl . '.com/embed/' . (isset($linkparams['v']) ? $linkparams['v'] : '') . '?';
1021
  $code2 = '" frameborder="0" type="text/html" class="__youtube_prefs__' . ($iscontent ? '' : ' __youtube_prefs_widget__') .
1022
  '"' . $voloutput . $acctitle . ' allowfullscreen webkitallowfullscreen mozallowfullscreen ></iframe>' . $schemaorgoutput;
1023
 
@@ -1676,12 +1692,11 @@ class YouTubePrefs
1676
  $new_pointer_content .= '<p>'; // ooopointer
1677
  if (!(self::$alloptions[self::$opt_pro] && strlen(trim(self::$alloptions[self::$opt_pro])) > 0))
1678
  {
1679
-
1680
- $new_pointer_content .= __('(1) Adds the ability to automatically migrate from another plugin shortcode, for FREE and <a href="' . self::$epbase . '/dashboard/pro-easy-video-analytics.aspx?ref=frompointer" target="_blank">PRO</a> versions. (2) Adds a new caching parameter and caching tips for <a href="' . self::$epbase . '/dashboard/pro-easy-video-analytics.aspx?ref=frompointer" target="_blank">PRO users &raquo;</a>.');
1681
  }
1682
  else
1683
  {
1684
- $new_pointer_content .= __('(1) Adds the ability to automatically migrate from another plugin shortcode, for FREE and PRO versions. (2) Adds a new caching parameter and caching tips for PRO users.');
1685
  }
1686
  $new_pointer_content .= '</p>';
1687
 
@@ -1749,6 +1764,7 @@ class YouTubePrefs
1749
  $new_options[self::$opt_wmode] = self::postchecked(self::$opt_wmode) ? 'opaque' : 'transparent';
1750
  $new_options[self::$opt_vq] = self::postchecked(self::$opt_vq) ? 'hd720' : '';
1751
  $new_options[self::$opt_nocookie] = self::postchecked(self::$opt_nocookie) ? 1 : 0;
 
1752
  $new_options[self::$opt_acctitle] = self::postchecked(self::$opt_acctitle) ? 1 : 0;
1753
  $new_options[self::$opt_ogvideo] = self::postchecked(self::$opt_ogvideo) ? 1 : 0;
1754
  $new_options[self::$opt_migrate] = self::postchecked(self::$opt_migrate) ? 1 : 0;
@@ -1986,7 +2002,7 @@ class YouTubePrefs
1986
  <i>Method 2 - </i> If you want to do some formatting (e.g. add HTML to center a video) or have two or more videos next to each other on the same line, wrap each link with the <code>[embedyt]...[/embedyt]</code> shortcode. <b>Tip for embedding videos on the same line:</b> As shown in the example image below, decrease the size of each video so that they fit together on the same line (See the "How To Override Defaults" section for height and width instructions).
1987
  </p>
1988
  <p>
1989
- <b>For playlists:</b> Go to the page for the playlist that lists all of its videos (<a target="_blank" href="http://www.youtube.com/playlist?list=PL70DEC2B0568B5469">Example &raquo;</a>). Click on the video that you want the playlist to start with. Copy and paste that browser URL into your blog on its own line. If you want to have two or more playlists next to each other on the same line, wrap each link with the <code>[embedyt]...[/embedyt]</code> shortcode.
1990
  </p>
1991
  <p>
1992
  <b>For channel playlists:</b> At your editor, click on the <img style="vertical-align: text-bottom;" src="<?php echo plugins_url('images/wizbuttonbig.png', __FILE__) ?>"> wizard button and choose the option <i>Search for a video or channel to insert in my editor.</i> Then, click on the <i>channel playlist</i> option there (instead of <i>single video</i>). Search for the channel username and follow the rest of the directions there.
@@ -2179,19 +2195,26 @@ class YouTubePrefs
2179
  As of January 2015, YouTube began serving the HTML5 player by default; therefore, this plugin no longer needs a special HTML5 setting. This option is simply kept here as a notice.
2180
  </label>
2181
  </p>
 
 
 
 
 
 
 
2182
 
2183
  <p>
2184
  <input name="<?php echo self::$opt_migrate; ?>" id="<?php echo self::$opt_migrate; ?>" <?php checked($all[self::$opt_migrate], 1); ?> type="checkbox" class="checkbox">
2185
  <label for="<?php echo self::$opt_migrate; ?>">
2186
  <b class="chktitle">Migrate Shortcodes: <sup class="orange bold">NEW</sup></b> Inherit other shortcodes.
2187
  </label>
2188
- <div id="boxmigratelist">
2189
- <ul>
2190
- <li><input name="<?php echo self::$opt_migrate_youtube; ?>" id="<?php echo self::$opt_migrate_youtube; ?>" <?php checked($all[self::$opt_migrate_youtube], 1); ?> type="checkbox" class="checkbox"><label for="<?php echo self::$opt_migrate_youtube; ?>">"Youtube Embed" : <code>youtube</code> and <code>youtube_video</code> shortcodes</label></li>
2191
- <li class="smallnote orange" style="list-style: none;">This feature is beta. More shortcodes coming.</li>
2192
- </ul>
2193
-
2194
- </div>
2195
  </p>
2196
 
2197
  <div class="upgchecks">
@@ -2268,8 +2291,8 @@ class YouTubePrefs
2268
  </select>
2269
  </span>
2270
  <label for="<?php echo self::$opt_dynload; ?>">
2271
- <b>(PRO)</b> <b class="chktitle">Special Loading Effects:</b>
2272
- Add eye-catching special effects that will make your YouTube embeds bounce, flip, pulse, or slide as they load on the screen. Check this box to select your desired effect. <a target="_blank" href="<?php echo self::$epbase ?>/add-special-effects-to-youtube-embeds-in-wordpress.aspx">Read more here &raquo;</a>
2273
  </label>
2274
  </p>
2275
  <div class="hr"></div>
3
  Plugin Name: YouTube
4
  Plugin URI: http://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx
5
  Description: YouTube embed plugin with basic features and convenient defaults. Upgrade now to add tracking, instant video SEO tags, and much more!
6
+ Version: 10.2
7
  Author: EmbedPlus Team
8
  Author URI: http://www.embedplus.com
9
  */
32
  class YouTubePrefs
33
  {
34
 
35
+ public static $version = '10.2';
36
  public static $opt_version = 'version';
37
  public static $optembedwidth = null;
38
  public static $optembedheight = null;
62
  public static $opt_ssl = 'ssl';
63
  public static $opt_ogvideo = 'ogvideo';
64
  public static $opt_nocookie = 'nocookie';
65
+ public static $opt_playlistorder = 'playlistorder';
66
  public static $opt_acctitle = 'acctitle';
67
  public static $opt_pro = 'pro';
68
  public static $opt_oldspacing = 'oldspacing';
95
  public static $badentities = array('&#215;', '×', '&#8211;', '–', '&amp;');
96
  public static $goodliterals = array('x', 'x', '--', '--', '&');
97
 
98
+
 
 
99
  ///////////////////////////////////////////////////////////////////////////////////////////////////
100
  ///////////////////////////////////////////////////////////////////////////////////////////////////
101
  ///////////////////////////////////////////////////////////////////////////////////////////////////
149
  self::$opt_listType,
150
  self::$opt_wmode,
151
  self::$opt_vq,
152
+ 'index',
153
  'list',
154
  'start',
155
  'end'
647
  $_pro = '';
648
  $_ssl = 0;
649
  $_nocookie = 0;
650
+ $_playlistorder = 0;
651
  $_acctitle = 0;
652
  $_ogvideo = 0;
653
  $_migrate = 0;
700
  $_pro = self::tryget($arroptions, self::$opt_pro, '');
701
  $_ssl = self::tryget($arroptions, self::$opt_ssl, 0);
702
  $_nocookie = self::tryget($arroptions, self::$opt_nocookie, 0);
703
+ $_playlistorder = self::tryget($arroptions, self::$opt_playlistorder, 0);
704
  $_acctitle = self::tryget($arroptions, self::$opt_acctitle, 0);
705
  $_ogvideo = self::tryget($arroptions, self::$opt_ogvideo, 0);
706
  $_migrate = self::tryget($arroptions, self::$opt_migrate, 0);
752
  self::$opt_pro => $_pro,
753
  self::$opt_ssl => $_ssl,
754
  self::$opt_nocookie => $_nocookie,
755
+ self::$opt_playlistorder => $_playlistorder,
756
  self::$opt_acctitle => $_acctitle,
757
  self::$opt_ogvideo => $_ogvideo,
758
  self::$opt_migrate => $_migrate,
809
  add_shortcode('youtube', array('YouTubePrefs', 'apply_prefs_shortcode_youtube'));
810
  add_shortcode('youtube_video', array('YouTubePrefs', 'apply_prefs_shortcode_youtube'));
811
  }
 
812
  }
813
  }
814
  else
830
  }
831
  return '';
832
  }
833
+
834
  public static function apply_prefs_shortcode_youtube($atts, $content = null)
835
  {
836
  $content = 'http://www.youtube.com/watch?v=' . trim($content);
842
  return '';
843
  }
844
 
 
845
  public static function apply_prefs_content($content)
846
  {
847
  $content = preg_replace_callback(self::$ytregex, "YouTubePrefs::get_html_content", $content);
1017
  }
1018
  }
1019
 
1020
+ // playlist cleanup
1021
+ $videoidoutput = isset($linkparams['v']) ? $linkparams['v'] : '';
1022
+
1023
+ if ((self::$alloptions[self::$opt_playlistorder] == 1 || isset($finalparams['plindex'])) && isset($finalparams['list']))
1024
+ {
1025
+ try
1026
+ {
1027
+ $videoidoutput = '';
1028
+ $finalparams['index'] = intval($finalparams['plindex']);
1029
+ }
1030
+ catch (Exception $ex)
1031
+ {
1032
+ }
1033
+ }
1034
+
1035
  $code1 = '<iframe ' . $dyntype . $centercode . ' id="_ytid_' . rand(10000, 99999) . '" width="' . self::$defaultwidth . '" height="' . self::$defaultheight .
1036
+ '" ' . $dynsrc . 'src="//www.' . $youtubebaseurl . '.com/embed/' . $videoidoutput . '?';
1037
  $code2 = '" frameborder="0" type="text/html" class="__youtube_prefs__' . ($iscontent ? '' : ' __youtube_prefs_widget__') .
1038
  '"' . $voloutput . $acctitle . ' allowfullscreen webkitallowfullscreen mozallowfullscreen ></iframe>' . $schemaorgoutput;
1039
 
1692
  $new_pointer_content .= '<p>'; // ooopointer
1693
  if (!(self::$alloptions[self::$opt_pro] && strlen(trim(self::$alloptions[self::$opt_pro])) > 0))
1694
  {
1695
+ $new_pointer_content .= __('This update adds start video settings for playlists: global settings for FREE users, global and wizard settings for <a href="' . self::$epbase . '/dashboard/pro-easy-video-analytics.aspx?ref=frompointer" target="_blank">PRO users &#9654;</a>');
 
1696
  }
1697
  else
1698
  {
1699
+ $new_pointer_content .= __('This update adds start video settings for playlists: global settings for FREE users, global and wizard settings for PRO users.');
1700
  }
1701
  $new_pointer_content .= '</p>';
1702
 
1764
  $new_options[self::$opt_wmode] = self::postchecked(self::$opt_wmode) ? 'opaque' : 'transparent';
1765
  $new_options[self::$opt_vq] = self::postchecked(self::$opt_vq) ? 'hd720' : '';
1766
  $new_options[self::$opt_nocookie] = self::postchecked(self::$opt_nocookie) ? 1 : 0;
1767
+ $new_options[self::$opt_playlistorder] = self::postchecked(self::$opt_playlistorder) ? 1 : 0;
1768
  $new_options[self::$opt_acctitle] = self::postchecked(self::$opt_acctitle) ? 1 : 0;
1769
  $new_options[self::$opt_ogvideo] = self::postchecked(self::$opt_ogvideo) ? 1 : 0;
1770
  $new_options[self::$opt_migrate] = self::postchecked(self::$opt_migrate) ? 1 : 0;
2002
  <i>Method 2 - </i> If you want to do some formatting (e.g. add HTML to center a video) or have two or more videos next to each other on the same line, wrap each link with the <code>[embedyt]...[/embedyt]</code> shortcode. <b>Tip for embedding videos on the same line:</b> As shown in the example image below, decrease the size of each video so that they fit together on the same line (See the "How To Override Defaults" section for height and width instructions).
2003
  </p>
2004
  <p>
2005
+ <b>For playlists:</b> Go to the page for the playlist that lists all of its videos (<a target="_blank" href="http://www.youtube.com/playlist?list=PL70DEC2B0568B5469">Example &raquo;</a>). Click on the video that you want the playlist to start with. Copy and paste that browser URL into your blog on its own line. If you want the first video to always be the latest video in your playlist, check the option "Playlist Ordering" in the settings down below (you will also see this option available if you use the Pro Wizard). If you want to have two or more playlists next to each other on the same line, wrap each link with the <code>[embedyt]...[/embedyt]</code> shortcode.
2006
  </p>
2007
  <p>
2008
  <b>For channel playlists:</b> At your editor, click on the <img style="vertical-align: text-bottom;" src="<?php echo plugins_url('images/wizbuttonbig.png', __FILE__) ?>"> wizard button and choose the option <i>Search for a video or channel to insert in my editor.</i> Then, click on the <i>channel playlist</i> option there (instead of <i>single video</i>). Search for the channel username and follow the rest of the directions there.
2195
  As of January 2015, YouTube began serving the HTML5 player by default; therefore, this plugin no longer needs a special HTML5 setting. This option is simply kept here as a notice.
2196
  </label>
2197
  </p>
2198
+
2199
+ <p>
2200
+ <input name="<?php echo self::$opt_playlistorder; ?>" id="<?php echo self::$opt_playlistorder; ?>" <?php checked($all[self::$opt_playlistorder], 1); ?> type="checkbox" class="checkbox">
2201
+ <label for="<?php echo self::$opt_playlistorder; ?>">
2202
+ <b class="chktitle">Playlist Ordering: <sup class="orange bold">NEW</sup></b> Check this option if you want your playlists to begin with the latest added video by default. (Unchecking this will force playlists to always start with your selected specific video).
2203
+ </label>
2204
+ </p>
2205
 
2206
  <p>
2207
  <input name="<?php echo self::$opt_migrate; ?>" id="<?php echo self::$opt_migrate; ?>" <?php checked($all[self::$opt_migrate], 1); ?> type="checkbox" class="checkbox">
2208
  <label for="<?php echo self::$opt_migrate; ?>">
2209
  <b class="chktitle">Migrate Shortcodes: <sup class="orange bold">NEW</sup></b> Inherit other shortcodes.
2210
  </label>
2211
+ <div id="boxmigratelist">
2212
+ <ul>
2213
+ <li><input name="<?php echo self::$opt_migrate_youtube; ?>" id="<?php echo self::$opt_migrate_youtube; ?>" <?php checked($all[self::$opt_migrate_youtube], 1); ?> type="checkbox" class="checkbox"><label for="<?php echo self::$opt_migrate_youtube; ?>">"Youtube Embed" : <code>youtube</code> and <code>youtube_video</code> shortcodes</label></li>
2214
+ <li class="smallnote orange" style="list-style: none;">This feature is beta. More shortcodes coming.</li>
2215
+ </ul>
2216
+
2217
+ </div>
2218
  </p>
2219
 
2220
  <div class="upgchecks">
2291
  </select>
2292
  </span>
2293
  <label for="<?php echo self::$opt_dynload; ?>">
2294
+ <b>(PRO)</b> <b class="chktitle">Special Lazy-Loading Effects:</b>
2295
+ Add eye-catching special effects that will make your YouTube embeds bounce, flip, pulse, or slide as they lazy load on the screen. Check this box to select your desired effect. <a target="_blank" href="<?php echo self::$epbase ?>/add-special-effects-to-youtube-embeds-in-wordpress.aspx">Read more here &raquo;</a>
2296
  </label>
2297
  </p>
2298
  <div class="hr"></div>