Version Description
Download this release
Release Info
Developer | embedplus |
Plugin | YouTube |
Version | 13.3.1 |
Comparing to | |
See all releases |
Code changes from version 13.2.3 to 13.3.1
- dist/blocks.editor.build.css +1 -1
- images/ss-live-chat.jpg +0 -0
- readme.txt +10 -4
- scripts/ytprefs.js +23 -3
- scripts/ytprefs.min.js +1 -1
- src/block/editor.scss +4 -0
- youtube.php +32 -28
dist/blocks.editor.build.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.components-modal__frame.epytblock__modal{position:absolute;top:25px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:950px;max-width:90%;height:calc(100vh - 50px);max-height:calc(100vh - 50px)}.components-modal__frame.epytblock__modal .components-modal__header{margin:0}.components-modal__frame.epytblock__modal .components-modal__content{padding:0}.components-modal__frame.epytblock__modal iframe{width:100%;height:calc(100% - 60px);display:block}.epytblock .components-placeholder__fieldset{max-width:100%}
|
1 |
+
.components-modal__frame.epytblock__modal{position:absolute;top:25px;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);width:950px;max-width:90%;height:calc(100vh - 50px);max-height:calc(100vh - 50px)}.components-modal__frame.epytblock__modal .components-modal__header{margin:0}.components-modal__frame.epytblock__modal .components-modal__content{padding:0}.components-modal__frame.epytblock__modal iframe{width:100%;height:calc(100% - 60px);display:block}.epytblock .components-placeholder__fieldset{max-width:100%}.edit-post-visual-editor .block-editor-block-list__block[data-type="epyt/youtube"]>div:first-child{padding-top:16px;padding-bottom:16px}
|
images/ss-live-chat.jpg
ADDED
Binary file
|
readme.txt
CHANGED
@@ -4,20 +4,21 @@ Plugin Name: Embed Plus for YouTube - Gallery, Channel, Playlist, Live Stream
|
|
4 |
Tags: youtube gallery, video gallery, youtube channel, youtube live, live stream
|
5 |
Requires at least: 4.1
|
6 |
Tested up to: 5.4
|
7 |
-
Stable tag: 13.
|
8 |
License: GPLv3 or later
|
9 |
|
10 |
YouTube Embed WordPress Plugin. Embed a responsive video, YouTube channel gallery, playlist gallery, or YouTube.com live stream (with GDPR options)
|
11 |
|
12 |
== Description ==
|
13 |
|
14 |
-
**Your WordPress YouTube embed, YouTube gallery (channel and playlist), and even YouTube livestream can be customized in a wide variety of ways with this plugin. Here are a few recently added features:**
|
15 |
|
16 |
* Compatible with the WordPress Gutenberg block editor (it also stays backwards-compatible with the classic editor). Both the Gutenberg block selector and the Gutenberg classic block will show the YouTube wizard button. For the Gutenberg block selector, click on the (+) sign for the block editor list. The YouTube Wizard block is located under the "Embeds" category (make sure you choose "YouTube **Wizard**"). See more on [how to embed a YouTube video, gallery, or livestream with the WordPress Gutenberg block editor here >>](https://www.embedplus.com/embed-youtube-video-gallery-livestream-wordpress-gutenberg-block-editor.aspx)
|
17 |
* Privacy and Consent - Improved privacy and GDPR compliance options like YouTube no cookie, YouTube API restrictions, and a customizable GDPR consent message
|
18 |
* YouTube gallery capability (channel and playlist) – The ability to make playlist and channel embeds have a gallery layout. By default, the plugin can generate a grid-based [responsive playlist or channel gallery >>](https://www.embedplus.com/responsive-youtube-playlist-channel-gallery-for-wordpress.aspx). Your visitors can browse through pages of video thumbnails and choose from videos that are pulled from an entire YouTube channel or playlist.
|
19 |
* YouTube gallery auto continuous play - embed a playlist or channel gallery and allow it to play one video after the next without requiring viewers to click a thumbnail
|
20 |
* YouTube Live Stream - Given a link to a YouTube channel, the plugin wizard automatically finds a livestream if one is active in that channel and displays the livestream for you. You can embed a direct link to a livestream too.
|
|
|
21 |
* Simultaneous playback control - you can enable/disable the ability for visitors to have separate videos running at the same time on the same page. This also works with YouTube livestream and gallery embeds.
|
22 |
* JavaScript deferral – improve the initial load time of your pages by allowing this plugin's scripts to begin execution only after a page is loaded. Tested using [GTmetrix >>](https://gtmetrix.com/)
|
23 |
* Improved accessibility by using title attributes for screen reader support. It should help your site pass functional accessibility evaluations (FAE).
|
@@ -80,7 +81,8 @@ You can also start and end each individual video at particular times. Like the a
|
|
80 |
> * [Alternate playlist and channel gallery styling >>](https://www.embedplus.com/responsive-youtube-playlist-channel-gallery-for-wordpress.aspx) (list layouts and slider layouts, popup/lightbox player, thumbnail hiding for text only paging, and more)
|
81 |
> * Caching to avoid making frequent requests to YouTube.com and speed up your page loads
|
82 |
> * Automatic video thumbnail images: each post or page that contains at least one video will have the thumbnail of its first video serve as its featured image
|
83 |
-
> * [Lazy load YouTube embeds >>](https://www.embedplus.com/
|
|
|
84 |
> * Automatic tagging for video SEO
|
85 |
> * Automatic Open Graph tagging for Facebook
|
86 |
> * Deleted video alerts (i.e., did Google remove or take down videos I previously embedded?)
|
@@ -110,7 +112,7 @@ See more details after installing. Enjoy!
|
|
110 |
1. You can also [embed a playlist and channel gallery with this plugin >>](https://www.embedplus.com/responsive-youtube-playlist-channel-gallery-for-wordpress.aspx). Please install the plugin and visit the settings page for instructions.
|
111 |
1. To get video SEO, an analytics dashboard and many other premium features, [sign up for one of the options here >>](https://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx?ref=readme)
|
112 |
|
113 |
-
**
|
114 |
|
115 |
* width - Sets the width of your player. If omitted, the default width will be the width of your theme's content. Example: `"https://www.youtube.com/watch?v=quwebVjAEJA&width=500&height=350"`
|
116 |
* height - Sets the height of your player. If omitted, this will be calculated for you automatically. Example: `"https://www.youtube.com/watch?v=quwebVjAEJA&width=500&height=350"`
|
@@ -149,6 +151,10 @@ You can also start and end each individual video at particular times. Like the a
|
|
149 |
|
150 |
== Changelog ==
|
151 |
|
|
|
|
|
|
|
|
|
152 |
= Embed Plus for YouTube WordPress Plugin 13.2.3 =
|
153 |
* Defer JavaScript for performance
|
154 |
* Compatibility between loop and hide relative videos features
|
4 |
Tags: youtube gallery, video gallery, youtube channel, youtube live, live stream
|
5 |
Requires at least: 4.1
|
6 |
Tested up to: 5.4
|
7 |
+
Stable tag: 13.3.1
|
8 |
License: GPLv3 or later
|
9 |
|
10 |
YouTube Embed WordPress Plugin. Embed a responsive video, YouTube channel gallery, playlist gallery, or YouTube.com live stream (with GDPR options)
|
11 |
|
12 |
== Description ==
|
13 |
|
14 |
+
**Your WordPress YouTube embed, YouTube gallery (channel and playlist), and even YouTube livestream or premiere can be customized in a wide variety of ways with this plugin. Here are a few recently added features:**
|
15 |
|
16 |
* Compatible with the WordPress Gutenberg block editor (it also stays backwards-compatible with the classic editor). Both the Gutenberg block selector and the Gutenberg classic block will show the YouTube wizard button. For the Gutenberg block selector, click on the (+) sign for the block editor list. The YouTube Wizard block is located under the "Embeds" category (make sure you choose "YouTube **Wizard**"). See more on [how to embed a YouTube video, gallery, or livestream with the WordPress Gutenberg block editor here >>](https://www.embedplus.com/embed-youtube-video-gallery-livestream-wordpress-gutenberg-block-editor.aspx)
|
17 |
* Privacy and Consent - Improved privacy and GDPR compliance options like YouTube no cookie, YouTube API restrictions, and a customizable GDPR consent message
|
18 |
* YouTube gallery capability (channel and playlist) – The ability to make playlist and channel embeds have a gallery layout. By default, the plugin can generate a grid-based [responsive playlist or channel gallery >>](https://www.embedplus.com/responsive-youtube-playlist-channel-gallery-for-wordpress.aspx). Your visitors can browse through pages of video thumbnails and choose from videos that are pulled from an entire YouTube channel or playlist.
|
19 |
* YouTube gallery auto continuous play - embed a playlist or channel gallery and allow it to play one video after the next without requiring viewers to click a thumbnail
|
20 |
* YouTube Live Stream - Given a link to a YouTube channel, the plugin wizard automatically finds a livestream if one is active in that channel and displays the livestream for you. You can embed a direct link to a livestream too.
|
21 |
+
* YouTube Premieres - You can also embed premiere videos using the same method we created for live streams
|
22 |
* Simultaneous playback control - you can enable/disable the ability for visitors to have separate videos running at the same time on the same page. This also works with YouTube livestream and gallery embeds.
|
23 |
* JavaScript deferral – improve the initial load time of your pages by allowing this plugin's scripts to begin execution only after a page is loaded. Tested using [GTmetrix >>](https://gtmetrix.com/)
|
24 |
* Improved accessibility by using title attributes for screen reader support. It should help your site pass functional accessibility evaluations (FAE).
|
81 |
> * [Alternate playlist and channel gallery styling >>](https://www.embedplus.com/responsive-youtube-playlist-channel-gallery-for-wordpress.aspx) (list layouts and slider layouts, popup/lightbox player, thumbnail hiding for text only paging, and more)
|
82 |
> * Caching to avoid making frequent requests to YouTube.com and speed up your page loads
|
83 |
> * Automatic video thumbnail images: each post or page that contains at least one video will have the thumbnail of its first video serve as its featured image
|
84 |
+
> * [Lazy load YouTube embeds >>](https://www.embedplus.com/defer-parsing-of-javascript-improve-gtmetrix-speed-of-page-with-youtube-embed.aspx) with eye-catching [effects and animations](https://www.embedplus.com/add-special-effects-to-youtube-embeds-in-wordpress.aspx)
|
85 |
+
> * [YouTube live chat >>](https://www.embedplus.com/embed-youtube-live-chat-box-with-live-stream-embed-wordpress.aspx) Add more interaction to your site by including the YouTube live chat box as part of each live stream embed. Note that live chat can also be an option for earning money from your audience by using the Super Chat and Super Stickers feature.
|
86 |
> * Automatic tagging for video SEO
|
87 |
> * Automatic Open Graph tagging for Facebook
|
88 |
> * Deleted video alerts (i.e., did Google remove or take down videos I previously embedded?)
|
112 |
1. You can also [embed a playlist and channel gallery with this plugin >>](https://www.embedplus.com/responsive-youtube-playlist-channel-gallery-for-wordpress.aspx). Please install the plugin and visit the settings page for instructions.
|
113 |
1. To get video SEO, an analytics dashboard and many other premium features, [sign up for one of the options here >>](https://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx?ref=readme)
|
114 |
|
115 |
+
**Manual codes (adding these will override the default settings in the admin):**
|
116 |
|
117 |
* width - Sets the width of your player. If omitted, the default width will be the width of your theme's content. Example: `"https://www.youtube.com/watch?v=quwebVjAEJA&width=500&height=350"`
|
118 |
* height - Sets the height of your player. If omitted, this will be calculated for you automatically. Example: `"https://www.youtube.com/watch?v=quwebVjAEJA&width=500&height=350"`
|
151 |
|
152 |
== Changelog ==
|
153 |
|
154 |
+
= Embed Plus for YouTube WordPress Plugin 13.3.1 =
|
155 |
+
* Fix simultaneous playback control issue
|
156 |
+
* Add support for premiere video embedding
|
157 |
+
|
158 |
= Embed Plus for YouTube WordPress Plugin 13.2.3 =
|
159 |
* Defer JavaScript for performance
|
160 |
* Compatibility between loop and hide relative videos features
|
scripts/ytprefs.js
CHANGED
@@ -156,6 +156,18 @@
|
|
156 |
}
|
157 |
|
158 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
pauseOthers: function (currentVid)
|
160 |
{
|
161 |
if (!currentVid)
|
@@ -165,7 +177,14 @@
|
|
165 |
for (var vidKey in window._EPYT_.apiVideos)
|
166 |
{
|
167 |
var vid = window._EPYT_.apiVideos[vidKey];
|
168 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
{
|
170 |
vid.pauseVideo();
|
171 |
}
|
@@ -185,12 +204,13 @@
|
|
185 |
{
|
186 |
window._EPADashboard_.log('Setting up YT API events: ' + iframeid);
|
187 |
thisvid.epytsetupdone = true;
|
188 |
-
|
189 |
events: {
|
190 |
"onReady": window._EPADashboard_.onPlayerReady,
|
191 |
"onStateChange": window._EPADashboard_.onPlayerStateChange
|
192 |
}
|
193 |
-
}
|
|
|
194 |
}
|
195 |
}
|
196 |
},
|
156 |
}
|
157 |
|
158 |
},
|
159 |
+
isMobile: function ()
|
160 |
+
{
|
161 |
+
return /Mobi|Android/i.test(navigator.userAgent);
|
162 |
+
},
|
163 |
+
videoEqual: function (a, b)
|
164 |
+
{
|
165 |
+
if (a.getIframe && b.getIframe && a.getIframe().id === b.getIframe().id)
|
166 |
+
{
|
167 |
+
return true;
|
168 |
+
}
|
169 |
+
return false;
|
170 |
+
},
|
171 |
pauseOthers: function (currentVid)
|
172 |
{
|
173 |
if (!currentVid)
|
177 |
for (var vidKey in window._EPYT_.apiVideos)
|
178 |
{
|
179 |
var vid = window._EPYT_.apiVideos[vidKey];
|
180 |
+
if (
|
181 |
+
vid &&
|
182 |
+
typeof vid.pauseVideo === 'function' &&
|
183 |
+
vid != currentVid &&
|
184 |
+
!_EPADashboard_.videoEqual(vid, currentVid) &&
|
185 |
+
typeof vid.getPlayerState === 'function' &&
|
186 |
+
[YT.PlayerState.BUFFERING, window.YT.PlayerState.PLAYING].indexOf(vid.getPlayerState()) >= 0
|
187 |
+
)
|
188 |
{
|
189 |
vid.pauseVideo();
|
190 |
}
|
204 |
{
|
205 |
window._EPADashboard_.log('Setting up YT API events: ' + iframeid);
|
206 |
thisvid.epytsetupdone = true;
|
207 |
+
var ytOptions = {
|
208 |
events: {
|
209 |
"onReady": window._EPADashboard_.onPlayerReady,
|
210 |
"onStateChange": window._EPADashboard_.onPlayerStateChange
|
211 |
}
|
212 |
+
};
|
213 |
+
return new window.YT.Player(iframeid, ytOptions);
|
214 |
}
|
215 |
}
|
216 |
},
|
scripts/ytprefs.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
|
2 |
-
(function(a,b){a._EPYT_=a._EPYT_||{ajaxurl:"/wp-admin/admin-ajax.php",security:"",gallery_scrolloffset:100,eppathtoscripts:"/wp-content/plugins/youtube-embed-plus/scripts/",eppath:"/wp-content/plugins/youtube-embed-plus/",epresponsiveselector:["iframe.__youtube_prefs_widget__"],epdovol:true,evselector:'iframe.__youtube_prefs__[src], iframe[src*="youtube.com/embed/"], iframe[src*="youtube-nocookie.com/embed/"]',stopMobileBuffer:true,ajax_compat:false,usingdefault:true,ytapi_load:"light",pause_others:false};a._EPYT_.touchmoved=false;a._EPYT_.apiVideos=a._EPYT_.apiVideos||{};if(a.location.toString().indexOf("https://")===0){a._EPYT_.ajaxurl=a._EPYT_.ajaxurl.replace("http://","https://")}a._EPYT_.pageLoaded=false;b(a).on("load._EPYT_",function(){a._EPYT_.pageLoaded=true});if(!document.querySelectorAll){document.querySelectorAll=function(d){var f=document,e=f.documentElement.firstChild,c=f.createElement("STYLE");e.appendChild(c);f.__qsaels=[];c.styleSheet.cssText=d+"{x:expression(document.__qsaels.push(this))}";a.scrollBy(0,0);return f.__qsaels}}if(typeof a._EPADashboard_==="undefined"){a._EPADashboard_={initStarted:false,checkCount:0,onPlayerReady:function(h){try{if(typeof _EPYT_.epdovol!=="undefined"&&_EPYT_.epdovol){var f=parseInt(h.target.getIframe().getAttribute("data-vol"));if(!isNaN(f)){if(f===0){h.target.mute()}else{if(h.target.isMuted()){h.target.unMute()}h.target.setVolume(f)}}}var e=parseInt(h.target.getIframe().getAttribute("data-epautoplay"));if(!isNaN(e)&&e===1){h.target.playVideo()}}catch(g){}try{var d=h.target.getIframe().getAttribute("id");a._EPYT_.apiVideos[d]=h.target}catch(c){}},onPlayerStateChange:function(f){var e=f.target.getIframe();if(a._EPYT_.pause_others&&f.data===a.YT.PlayerState.PLAYING){a._EPADashboard_.pauseOthers(f.target)}if(f.data===a.YT.PlayerState.PLAYING&&f.target.ponce!==true&&e.src.indexOf("autoplay=1")===-1){f.target.ponce=true}if(f.data===a.YT.PlayerState.ENDED&&b(e).data("relstop")=="1"){if(typeof f.target.stopVideo==="function"){f.target.stopVideo()}else{var g=b(e).clone(true).off();g.attr("src",g.attr("src").replace("autoplay=1","autoplay=0"));b(e).replaceWith(g);a._EPADashboard_.setupevents(g.attr("id"));e=g.get(0)}}var c=b(e).closest(".epyt-gallery");if(!c.length){c=b("#"+b(e).data("epytgalleryid"))}if(c.length){var d=c.find(".epyt-pagebutton").first().data("autonext")=="1";if(d&&f.data===a.YT.PlayerState.ENDED){var h=c.find(".epyt-current-video");if(!h.length){h=c.find(".epyt-gallery-thumb").first()}var i=h.find(" ~ .epyt-gallery-thumb").first();if(i.length){i.click()}else{c.find('.epyt-pagebutton.epyt-next[data-pagetoken!=""][data-pagetoken]').first().click()}}}},pauseOthers:function(e){if(!e){return}for(var d in a._EPYT_.apiVideos){var c=a._EPYT_.apiVideos[d];if(c&&typeof c.pauseVideo==="function"&&c!=e&&typeof c.getPlayerState==="function"&&[YT.PlayerState.BUFFERING,a.YT.PlayerState.PLAYING].indexOf(c.getPlayerState())>=0){c.pauseVideo()}}},justid:function(c){return new RegExp("[\\?&]v=([^&#]*)").exec(c)[1]},setupevents:function(
|
1 |
|
2 |
+
(function(a,b){a._EPYT_=a._EPYT_||{ajaxurl:"/wp-admin/admin-ajax.php",security:"",gallery_scrolloffset:100,eppathtoscripts:"/wp-content/plugins/youtube-embed-plus/scripts/",eppath:"/wp-content/plugins/youtube-embed-plus/",epresponsiveselector:["iframe.__youtube_prefs_widget__"],epdovol:true,evselector:'iframe.__youtube_prefs__[src], iframe[src*="youtube.com/embed/"], iframe[src*="youtube-nocookie.com/embed/"]',stopMobileBuffer:true,ajax_compat:false,usingdefault:true,ytapi_load:"light",pause_others:false};a._EPYT_.touchmoved=false;a._EPYT_.apiVideos=a._EPYT_.apiVideos||{};if(a.location.toString().indexOf("https://")===0){a._EPYT_.ajaxurl=a._EPYT_.ajaxurl.replace("http://","https://")}a._EPYT_.pageLoaded=false;b(a).on("load._EPYT_",function(){a._EPYT_.pageLoaded=true});if(!document.querySelectorAll){document.querySelectorAll=function(d){var f=document,e=f.documentElement.firstChild,c=f.createElement("STYLE");e.appendChild(c);f.__qsaels=[];c.styleSheet.cssText=d+"{x:expression(document.__qsaels.push(this))}";a.scrollBy(0,0);return f.__qsaels}}if(typeof a._EPADashboard_==="undefined"){a._EPADashboard_={initStarted:false,checkCount:0,onPlayerReady:function(h){try{if(typeof _EPYT_.epdovol!=="undefined"&&_EPYT_.epdovol){var f=parseInt(h.target.getIframe().getAttribute("data-vol"));if(!isNaN(f)){if(f===0){h.target.mute()}else{if(h.target.isMuted()){h.target.unMute()}h.target.setVolume(f)}}}var e=parseInt(h.target.getIframe().getAttribute("data-epautoplay"));if(!isNaN(e)&&e===1){h.target.playVideo()}}catch(g){}try{var d=h.target.getIframe().getAttribute("id");a._EPYT_.apiVideos[d]=h.target}catch(c){}},onPlayerStateChange:function(f){var e=f.target.getIframe();if(a._EPYT_.pause_others&&f.data===a.YT.PlayerState.PLAYING){a._EPADashboard_.pauseOthers(f.target)}if(f.data===a.YT.PlayerState.PLAYING&&f.target.ponce!==true&&e.src.indexOf("autoplay=1")===-1){f.target.ponce=true}if(f.data===a.YT.PlayerState.ENDED&&b(e).data("relstop")=="1"){if(typeof f.target.stopVideo==="function"){f.target.stopVideo()}else{var g=b(e).clone(true).off();g.attr("src",g.attr("src").replace("autoplay=1","autoplay=0"));b(e).replaceWith(g);a._EPADashboard_.setupevents(g.attr("id"));e=g.get(0)}}var c=b(e).closest(".epyt-gallery");if(!c.length){c=b("#"+b(e).data("epytgalleryid"))}if(c.length){var d=c.find(".epyt-pagebutton").first().data("autonext")=="1";if(d&&f.data===a.YT.PlayerState.ENDED){var h=c.find(".epyt-current-video");if(!h.length){h=c.find(".epyt-gallery-thumb").first()}var i=h.find(" ~ .epyt-gallery-thumb").first();if(i.length){i.click()}else{c.find('.epyt-pagebutton.epyt-next[data-pagetoken!=""][data-pagetoken]').first().click()}}}},isMobile:function(){return/Mobi|Android/i.test(navigator.userAgent)},videoEqual:function(d,c){if(d.getIframe&&c.getIframe&&d.getIframe().id===c.getIframe().id){return true}return false},pauseOthers:function(e){if(!e){return}for(var d in a._EPYT_.apiVideos){var c=a._EPYT_.apiVideos[d];if(c&&typeof c.pauseVideo==="function"&&c!=e&&!_EPADashboard_.videoEqual(c,e)&&typeof c.getPlayerState==="function"&&[YT.PlayerState.BUFFERING,a.YT.PlayerState.PLAYING].indexOf(c.getPlayerState())>=0){c.pauseVideo()}}},justid:function(c){return new RegExp("[\\?&]v=([^&#]*)").exec(c)[1]},setupevents:function(e){if(typeof(a.YT)!=="undefined"&&a.YT!==null&&a.YT.loaded){var c=document.getElementById(e);if(!c.epytsetupdone){a._EPADashboard_.log("Setting up YT API events: "+e);c.epytsetupdone=true;var d={events:{onReady:a._EPADashboard_.onPlayerReady,onStateChange:a._EPADashboard_.onPlayerStateChange}};return new a.YT.Player(e,d)}}},apiInit:function(){if(typeof(a.YT)!=="undefined"){a._EPADashboard_.initStarted=true;var c=document.querySelectorAll(_EPYT_.evselector);for(var d=0;d<c.length;d++){if(!c[d].hasAttribute("id")){c[d].id="_dytid_"+Math.round(Math.random()*8999+1000)}a._EPADashboard_.setupevents(c[d].id)}}},log:function(d){try{console.log(d)}catch(c){}},doubleCheck:function(){a._EPADashboard_.checkInterval=setInterval(function(){a._EPADashboard_.checkCount++;if(a._EPADashboard_.checkCount>=5||a._EPADashboard_.initStarted){clearInterval(a._EPADashboard_.checkInterval)}else{a._EPADashboard_.apiInit();a._EPADashboard_.log("YT API init check")}},1000)},selectText:function(e){if(document.selection){var c=document.body.createTextRange();c.moveToElementText(e);c.select()}else{if(a.getSelection){var d=a.getSelection();var c=document.createRange();c.selectNode(e);d.removeAllRanges();d.addRange(c)}}},setVidSrc:function(c,d){c.attr("src",d);c.get(0).epytsetupdone=false;a._EPADashboard_.setupevents(c.attr("id"))},loadYTAPI:function(){if(typeof a.YT==="undefined"){if(a._EPYT_.ytapi_load!=="never"&&(a._EPYT_.ytapi_load==="always"||b('iframe[src*="youtube.com/embed/"], iframe[data-src*="youtube.com/embed/"]').length)){var c=document.createElement("script");c.src="https://www.youtube.com/iframe_api";c.type="text/javascript";document.getElementsByTagName("head")[0].appendChild(c)}}else{if(a.YT.loaded){if(a._EPYT_.pageLoaded){a._EPADashboard_.apiInit();a._EPADashboard_.log("YT API available")}else{b(a).on("load._EPYT_",function(){a._EPADashboard_.apiInit();a._EPADashboard_.log("YT API available 2")})}}}},pageReady:function(){b(".epyt-gallery").each(function(){var f=b(this);if(!f.data("epytevents")||!b("body").hasClass("block-editor-page")){f.data("epytevents","1");var e=b(this).find("iframe, div.__youtube_prefs_gdpr__").first();var c=e.data("src")||e.attr("src");if(!c){c=e.data("ep-src")}var d=b(this).find(".epyt-gallery-list .epyt-gallery-thumb").first().data("videoid");if(typeof(c)!=="undefined"){c=c.replace(d,"GALLERYVIDEOID");f.data("ep-gallerysrc",c)}else{if(e.hasClass("__youtube_prefs_gdpr__")){f.data("ep-gallerysrc","")}}f.on("click touchend",".epyt-gallery-list .epyt-gallery-thumb",function(k){e=f.find("iframe, div.__youtube_prefs_gdpr__").first();if(a._EPYT_.touchmoved){return}if(!b(this).hasClass("epyt-current-video")){f.find(".epyt-gallery-list .epyt-gallery-thumb").removeClass("epyt-current-video");b(this).addClass("epyt-current-video");var g=b(this).data("videoid");f.data("currvid",g);var l=f.data("ep-gallerysrc").replace("GALLERYVIDEOID",g);var j=f.find(".epyt-pagebutton").first().data("thumbplay");if(j!=="0"&&j!==0){if(l.indexOf("autoplay")>0){l=l.replace("autoplay=0","autoplay=1")}else{l+="&autoplay=1"}e.addClass("epyt-thumbplay")}var h=Math.max(b("body").scrollTop(),b("html").scrollTop());var i=e.offset().top-parseInt(_EPYT_.gallery_scrolloffset);if(h>i){b("html, body").animate({scrollTop:i},500,function(){a._EPADashboard_.setVidSrc(e,l)})}else{a._EPADashboard_.setVidSrc(e,l)}}}).on("touchmove",function(g){a._EPYT_.touchmoved=true}).on("touchstart",function(){a._EPYT_.touchmoved=false}).on("keydown",".epyt-gallery-list .epyt-gallery-thumb, .epyt-pagebutton",function(h){var g=h.which;if((g===13)||(g===32)){h.preventDefault();b(this).click()}});f.on("mouseenter",".epyt-gallery-list .epyt-gallery-thumb",function(){b(this).addClass("hover")});f.on("mouseleave",".epyt-gallery-list .epyt-gallery-thumb",function(){b(this).removeClass("hover")});f.on("click touchend",".epyt-pagebutton",function(k){if(a._EPYT_.touchmoved){return}if(!f.find(".epyt-gallery-list").hasClass("epyt-loading")){f.find(".epyt-gallery-list").addClass("epyt-loading");var g=typeof(k.originalEvent)!=="undefined";var j={action:"my_embedplus_gallery_page",security:_EPYT_.security,options:{playlistId:b(this).data("playlistid"),pageToken:b(this).data("pagetoken"),pageSize:b(this).data("pagesize"),columns:b(this).data("epcolumns"),showTitle:b(this).data("showtitle"),showPaging:b(this).data("showpaging"),autonext:b(this).data("autonext"),thumbplay:b(this).data("thumbplay")}};var h=b(this).hasClass("epyt-next");var i=parseInt(f.data("currpage")+"");i+=h?1:-1;f.data("currpage",i);b.post(_EPYT_.ajaxurl,j,function(l){f.find(".epyt-gallery-list").html(l);f.find(".epyt-current").each(function(){b(this).text(f.data("currpage"))});f.find('.epyt-gallery-thumb[data-videoid="'+f.data("currvid")+'"]').addClass("epyt-current-video");if(f.find(".epyt-pagebutton").first().data("autonext")=="1"&&!g){f.find(".epyt-gallery-thumb").first().click()}}).fail(function(){alert("Sorry, there was an error loading the next page.")}).always(function(){f.find(".epyt-gallery-list").removeClass("epyt-loading");if(f.find(".epyt-pagebutton").first().data("autonext")!="1"){var l=Math.max(b("body").scrollTop(),b("html").scrollTop());var m=f.find(".epyt-gallery-list").offset().top-parseInt(_EPYT_.gallery_scrolloffset);if(l>m){b("html, body").animate({scrollTop:m},500)}}})}}).on("touchmove",function(g){a._EPYT_.touchmoved=true}).on("touchstart",function(){a._EPYT_.touchmoved=false})}});b("button.__youtube_prefs_gdpr__").on("click",function(c){c.preventDefault();if(b.cookie){b.cookie("ytprefs_gdpr_consent","1",{expires:30,path:"/"});a.top.location.reload()}})}}}a.onYouTubeIframeAPIReady=typeof a.onYouTubeIframeAPIReady!=="undefined"?a.onYouTubeIframeAPIReady:function(){if(a._EPYT_.pageLoaded){a._EPADashboard_.apiInit();a._EPADashboard_.log("YT API ready")}else{b(a).on("load._EPYT_",function(){a._EPADashboard_.apiInit();a._EPADashboard_.log("YT API ready 2")})}};a._EPADashboard_.loadYTAPI();if(a._EPYT_.pageLoaded){a._EPADashboard_.doubleCheck()}else{b(a).on("load._EPYT_",function(){a._EPADashboard_.doubleCheck()})}b(document).ready(function(){a._EPADashboard_.pageReady();a._EPADashboard_.loadYTAPI();if(a._EPYT_.ajax_compat){b(a).on("load._EPYT_",function(){b(document).ajaxSuccess(function(d,f,c){if(f&&f.responseText&&f.responseText.indexOf("<iframe ")!==-1){a._EPADashboard_.loadYTAPI();a._EPADashboard_.apiInit();a._EPADashboard_.log("YT API AJAX");a._EPADashboard_.pageReady()}})})}})})(window,jQuery);
|
src/block/editor.scss
CHANGED
@@ -36,6 +36,10 @@
|
|
36 |
}
|
37 |
}
|
38 |
|
|
|
|
|
|
|
|
|
39 |
|
40 |
/* .epyt-gallery-list {
|
41 |
&:before {
|
36 |
}
|
37 |
}
|
38 |
|
39 |
+
.edit-post-visual-editor .block-editor-block-list__block[data-type="epyt/youtube"] > div:first-child {
|
40 |
+
padding-top: 16px;
|
41 |
+
padding-bottom: 16px;
|
42 |
+
}
|
43 |
|
44 |
/* .epyt-gallery-list {
|
45 |
&:before {
|
youtube.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Embed Plus for YouTube - Gallery, Channel, Playlist, Live Stream
|
4 |
Plugin URI: https://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx?ref=plugin
|
5 |
Description: YouTube Embed and YouTube Gallery WordPress Plugin. Embed a responsive video, YouTube channel, playlist gallery, or live stream
|
6 |
-
Version: 13.
|
7 |
Author: Embed Plus for YouTube Team
|
8 |
Author URI: https://www.embedplus.com
|
9 |
*/
|
@@ -34,7 +34,7 @@ class YouTubePrefs
|
|
34 |
|
35 |
public static $folder_name = 'youtube-embed-plus';
|
36 |
public static $curltimeout = 30;
|
37 |
-
public static $version = '13.
|
38 |
public static $opt_version = 'version';
|
39 |
public static $optembedwidth = null;
|
40 |
public static $optembedheight = null;
|
@@ -490,7 +490,7 @@ class YouTubePrefs
|
|
490 |
public static function is_ajax()
|
491 |
{
|
492 |
$requested_with = filter_input(INPUT_SERVER, 'HTTP_X_REQUESTED_WITH');
|
493 |
-
$is_ajax = (function_exists('wp_doing_ajax') && wp_doing_ajax() || (!empty($requested_with) && strtolower($requested_with) == 'xmlhttprequest'));
|
494 |
if ($is_ajax)
|
495 |
{
|
496 |
header('HTTP/1.1 200 OK');
|
@@ -1118,7 +1118,7 @@ class YouTubePrefs
|
|
1118 |
|
1119 |
<h2>
|
1120 |
<?php
|
1121 |
-
echo 'Live Stream: ' . sanitize_text_field($live_attempt->snippet->title);
|
1122 |
?>
|
1123 |
</h2>
|
1124 |
<p class="center">
|
@@ -1281,9 +1281,9 @@ class YouTubePrefs
|
|
1281 |
}
|
1282 |
?>
|
1283 |
</div>
|
1284 |
-
<h3 id="h3_live"> <a href="#">Embed a live stream. </a></h3>
|
1285 |
<div>
|
1286 |
-
<h4 class="center">Live stream directions</h4>
|
1287 |
<?php
|
1288 |
if (!self::has_api_key())
|
1289 |
{
|
@@ -1293,7 +1293,7 @@ class YouTubePrefs
|
|
1293 |
{
|
1294 |
?>
|
1295 |
<p>
|
1296 |
-
Important: You can embed any public livestreams from any channel that YouTube/Google has approved to be <strong>Eligible</strong> and <strong>Enabled</strong>.
|
1297 |
If you're trying to embed a livestream from your own channel, you can check make sure it is <strong>Eligible</strong> and <strong>Enabled</strong> by <a href="https://www.youtube.com/features" target="_blank">visiting here.</a>
|
1298 |
You are verified if you see the word "Enabled" at the bottom of the box that is labeled "Embed live streams." Note that verification can only be done directly through YouTube/Google with the link above, and this plugin cannot automatically do that.
|
1299 |
YouTube/Google also requires <strong>Monetization</strong> enabled. <a href="https://www.embedplus.com/how-to-embed-a-youtube-livestream-in-wordpress.aspx" target="_blank">You can read more here »</a>
|
@@ -1302,15 +1302,15 @@ class YouTubePrefs
|
|
1302 |
<div class="livestream-tabs">
|
1303 |
<ul>
|
1304 |
<li><a href="#livestream-tabs-2">Channel-based livestream (recommended)<sup class="orange">new</sup></a></li>
|
1305 |
-
<li><a href="#livestream-tabs-1">Direct link to livestream</a></li>
|
1306 |
</ul>
|
1307 |
<div id="livestream-tabs-1">
|
1308 |
<p>
|
1309 |
-
This will embed a specific live stream video.
|
1310 |
</p>
|
1311 |
<ol>
|
1312 |
<li>
|
1313 |
-
Paste in the direct URL of the live stream below and click Submit. Example: https://www.youtube.com/watch?v=<strong>
|
1314 |
</li>
|
1315 |
<li>
|
1316 |
On the next screen, customize or insert your video.
|
@@ -3146,7 +3146,7 @@ class YouTubePrefs
|
|
3146 |
$new_pointer_content = '<h3>' . __('New Update') . '</h3>'; // ooopointer
|
3147 |
|
3148 |
$new_pointer_content .= '<p>'; // ooopointer
|
3149 |
-
$new_pointer_content .= "This version
|
3150 |
if (self::vi_logged_in())
|
3151 |
{
|
3152 |
$new_pointer_content .= "<br><br><strong>Note:</strong> You are currently logged into the vi intelligence feature. vi support is being deprecated in the next version, so we recommend taking the vi ads down from your site. Please contact ext@embedplus.com for questions.";
|
@@ -3472,7 +3472,7 @@ class YouTubePrefs
|
|
3472 |
</h2>
|
3473 |
<p>
|
3474 |
Some features (such as galleries, and some wizard features) now require you to create a free YouTube API <strong>Server</strong> key from Google.
|
3475 |
-
Make sure it's a YouTube Data API v3 "Web Server" key as shown in the screenshot (i.e. not web browser or anything else). <a href="https://www.
|
3476 |
</p>
|
3477 |
<p>
|
3478 |
<b class="chktitle">YouTube API Key:</b>
|
@@ -3485,7 +3485,7 @@ class YouTubePrefs
|
|
3485 |
<?php _e("Default YouTube Options") ?>
|
3486 |
</h2>
|
3487 |
<p>
|
3488 |
-
<?php _e("One of the benefits of using this plugin is that you can set site-wide default options for all your videos (click \"Save Changes\" when finished). However, you can also override them (and more) on a per-video basis. Directions on how to do that are in the next
|
3489 |
</p>
|
3490 |
|
3491 |
<div class="ytindent chx">
|
@@ -3637,10 +3637,10 @@ class YouTubePrefs
|
|
3637 |
<div id="not_live_content_scroll" class="p">
|
3638 |
<input name="<?php echo self::$opt_not_live_on; ?>" id="<?php echo self::$opt_not_live_on; ?>" <?php checked($all[self::$opt_not_live_on], 1); ?> type="checkbox" class="checkbox">
|
3639 |
<label for="<?php echo self::$opt_not_live_on; ?>">
|
3640 |
-
<b class="chktitle">Default "Not Live" Content:</b> (For direct-link video streams, <em>not</em> channel streams. <a href="<?php echo self::$epbase ?>/how-to-embed-a-youtube-livestream-in-wordpress.aspx" target="_blank">More info here</a>)
|
3641 |
-
When your video is not streaming live, the YouTube live player will simply display a countdown
|
3642 |
-
Instead of showing that player, you can display some "coming soon" content in that space for your visitors to see until your video begins to live stream.
|
3643 |
-
The plugin will automatically switch to your video's live stream once it's active.
|
3644 |
Below, enter what you would like to appear until then.
|
3645 |
If you just want to show the standard countdown player that YouTube provides, uncheck this option.
|
3646 |
<strong class="check-note"><span class="orange">NOTE:</span> This feature uses a significant amount of your YouTube API quota. We suggest unchecking it if your site has high traffic. If you chose to use this feature, do not put another live stream embed below.</strong>
|
@@ -4188,6 +4188,17 @@ class YouTubePrefs
|
|
4188 |
</label>
|
4189 |
</p>
|
4190 |
<div class="hr"></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4191 |
<p>
|
4192 |
<img class="ssaltgallery" src="<?php echo plugins_url('images/ssaltgalleryall.jpg', __FILE__) ?>" />
|
4193 |
<select disabled>
|
@@ -5209,13 +5220,6 @@ class YouTubePrefs
|
|
5209 |
<label for="<?php echo self::$opt_responsive_all; ?>0">Responsive for only videos embedded via this plugin</label>
|
5210 |
</p>
|
5211 |
</div>
|
5212 |
-
<div class="ytprefs-ob-setting yob-single">
|
5213 |
-
<input value="1" name="<?php echo self::$opt_defer_js; ?>" id="<?php echo self::$opt_defer_js; ?>" <?php checked($all[self::$opt_defer_js], 1); ?> type="checkbox" class="checkbox">
|
5214 |
-
<label for="<?php echo self::$opt_defer_js ?>">
|
5215 |
-
<b class="chktitle"><?php _e('Defer Javascript:', 'youtube-embed-plus'); ?></b> <sup class="orange"><?php _e('new', 'youtube-embed-plus'); ?></sup>
|
5216 |
-
<?php _e('JavaScript (JS) deferral is a common website performance option that can offer significant improvements of page speed. You can reduce the initial load time of your page by allowing this plugin\'s scripts to begin execution only after a page is loaded. You may receive a better GTMetrix score with this option turned on. Note: This feature is compatible with most sites, but turn it off if you are having issues.', 'youtube-embed-plus'); ?>
|
5217 |
-
</label>
|
5218 |
-
</div>
|
5219 |
<div class="ytprefs-ob-setting yob-gallery">
|
5220 |
<label for="<?php echo self::$opt_gallery_pagesize; ?>"><b class="chktitle">Default Gallery Page Size:</b></label>
|
5221 |
<select name="<?php echo self::$opt_gallery_pagesize; ?>" id="<?php echo self::$opt_gallery_pagesize; ?>" style="width: 60px;">
|
@@ -5240,10 +5244,10 @@ class YouTubePrefs
|
|
5240 |
<div class="ytprefs-ob-setting yob-live">
|
5241 |
<input name="<?php echo self::$opt_not_live_on; ?>" id="<?php echo self::$opt_not_live_on; ?>" <?php checked($all[self::$opt_not_live_on], 1); ?> type="checkbox" class="checkbox">
|
5242 |
<label for="<?php echo self::$opt_not_live_on; ?>">
|
5243 |
-
<b class="chktitle">Default "Not Live" Content:</b> (For direct-link video streams, <em>not</em> channel streams. <a href="<?php echo self::$epbase ?>/how-to-embed-a-youtube-livestream-in-wordpress.aspx" target="_blank">More info here</a>)
|
5244 |
-
When your video is not streaming live, the YouTube live player will simply display a countdown
|
5245 |
-
Instead of showing that player, you can display some "coming soon" content in that space for your visitors to see until your video begins to live stream.
|
5246 |
-
The plugin will automatically switch to your video's live stream once it's active.
|
5247 |
Below, enter what you would like to appear until then.
|
5248 |
If you just want to show the standard countdown player that YouTube provides, uncheck this option.
|
5249 |
<strong class="check-note"><span class="orange">NOTE:</span> This feature uses a significant amount of your YouTube API quota. We suggest unchecking it if your site has high traffic. If you chose to use this feature, do not put another live stream embed below.</strong>
|
3 |
Plugin Name: Embed Plus for YouTube - Gallery, Channel, Playlist, Live Stream
|
4 |
Plugin URI: https://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx?ref=plugin
|
5 |
Description: YouTube Embed and YouTube Gallery WordPress Plugin. Embed a responsive video, YouTube channel, playlist gallery, or live stream
|
6 |
+
Version: 13.3.1
|
7 |
Author: Embed Plus for YouTube Team
|
8 |
Author URI: https://www.embedplus.com
|
9 |
*/
|
34 |
|
35 |
public static $folder_name = 'youtube-embed-plus';
|
36 |
public static $curltimeout = 30;
|
37 |
+
public static $version = '13.3.1';
|
38 |
public static $opt_version = 'version';
|
39 |
public static $optembedwidth = null;
|
40 |
public static $optembedheight = null;
|
490 |
public static function is_ajax()
|
491 |
{
|
492 |
$requested_with = filter_input(INPUT_SERVER, 'HTTP_X_REQUESTED_WITH');
|
493 |
+
$is_ajax = (function_exists('wp_doing_ajax') && wp_doing_ajax() || (!empty($requested_with) && strtolower($requested_with) == 'xmlhttprequest') || (defined('DOING_AJAX') && DOING_AJAX));
|
494 |
if ($is_ajax)
|
495 |
{
|
496 |
header('HTTP/1.1 200 OK');
|
1118 |
|
1119 |
<h2>
|
1120 |
<?php
|
1121 |
+
echo 'Live Stream (or Premiere): ' . sanitize_text_field($live_attempt->snippet->title);
|
1122 |
?>
|
1123 |
</h2>
|
1124 |
<p class="center">
|
1281 |
}
|
1282 |
?>
|
1283 |
</div>
|
1284 |
+
<h3 id="h3_live"> <a href="#">Embed a live stream or premiere video. </a></h3>
|
1285 |
<div>
|
1286 |
+
<h4 class="center">Live stream or premiere directions</h4>
|
1287 |
<?php
|
1288 |
if (!self::has_api_key())
|
1289 |
{
|
1293 |
{
|
1294 |
?>
|
1295 |
<p>
|
1296 |
+
Important: You can embed any public livestreams or premieres from any channel that YouTube/Google has approved to be <strong>Eligible</strong> and <strong>Enabled</strong>.
|
1297 |
If you're trying to embed a livestream from your own channel, you can check make sure it is <strong>Eligible</strong> and <strong>Enabled</strong> by <a href="https://www.youtube.com/features" target="_blank">visiting here.</a>
|
1298 |
You are verified if you see the word "Enabled" at the bottom of the box that is labeled "Embed live streams." Note that verification can only be done directly through YouTube/Google with the link above, and this plugin cannot automatically do that.
|
1299 |
YouTube/Google also requires <strong>Monetization</strong> enabled. <a href="https://www.embedplus.com/how-to-embed-a-youtube-livestream-in-wordpress.aspx" target="_blank">You can read more here »</a>
|
1302 |
<div class="livestream-tabs">
|
1303 |
<ul>
|
1304 |
<li><a href="#livestream-tabs-2">Channel-based livestream (recommended)<sup class="orange">new</sup></a></li>
|
1305 |
+
<li><a href="#livestream-tabs-1">Direct link to livestream or premiere video</a></li>
|
1306 |
</ul>
|
1307 |
<div id="livestream-tabs-1">
|
1308 |
<p>
|
1309 |
+
This will embed a specific live stream or premiere video.
|
1310 |
</p>
|
1311 |
<ol>
|
1312 |
<li>
|
1313 |
+
Paste in the direct URL of the live stream or premiere below and click Submit. Example: https://www.youtube.com/watch?v=<strong>5qap5aO4i9A</strong>
|
1314 |
</li>
|
1315 |
<li>
|
1316 |
On the next screen, customize or insert your video.
|
3146 |
$new_pointer_content = '<h3>' . __('New Update') . '</h3>'; // ooopointer
|
3147 |
|
3148 |
$new_pointer_content .= '<p>'; // ooopointer
|
3149 |
+
$new_pointer_content .= "This version fixes a simultaneous playback control issue, and adds YouTube Premieres embedding functionality to Free and <a target=_blank href=" . self::$epbase . '/dashboard/pro-easy-video-analytics.aspx?ref=frompointer' . ">Pro versions</a>.";
|
3150 |
if (self::vi_logged_in())
|
3151 |
{
|
3152 |
$new_pointer_content .= "<br><br><strong>Note:</strong> You are currently logged into the vi intelligence feature. vi support is being deprecated in the next version, so we recommend taking the vi ads down from your site. Please contact ext@embedplus.com for questions.";
|
3472 |
</h2>
|
3473 |
<p>
|
3474 |
Some features (such as galleries, and some wizard features) now require you to create a free YouTube API <strong>Server</strong> key from Google.
|
3475 |
+
Make sure it's a YouTube Data API v3 "Web Server" key as shown in the screenshot (i.e. not web browser or anything else). <a href="https://www.embedplus.com/how-to-create-a-youtube-api-key.aspx" target="_blank">Click this link »</a> and follow the instructions to get your API key. Don't worry, it's an easy process.
|
3476 |
</p>
|
3477 |
<p>
|
3478 |
<b class="chktitle">YouTube API Key:</b>
|
3485 |
<?php _e("Default YouTube Options") ?>
|
3486 |
</h2>
|
3487 |
<p>
|
3488 |
+
<?php _e("One of the benefits of using this plugin is that you can set site-wide default options for all your videos (click \"Save Changes\" when finished). However, you can also override them (and more) on a per-video basis. Directions on how to do that are in the next tab.") ?>
|
3489 |
</p>
|
3490 |
|
3491 |
<div class="ytindent chx">
|
3637 |
<div id="not_live_content_scroll" class="p">
|
3638 |
<input name="<?php echo self::$opt_not_live_on; ?>" id="<?php echo self::$opt_not_live_on; ?>" <?php checked($all[self::$opt_not_live_on], 1); ?> type="checkbox" class="checkbox">
|
3639 |
<label for="<?php echo self::$opt_not_live_on; ?>">
|
3640 |
+
<b class="chktitle">Default "Not Live" Content:</b> (For direct-link video streams and premieres, <em>not</em> channel streams. <a href="<?php echo self::$epbase ?>/how-to-embed-a-youtube-livestream-in-wordpress.aspx" target="_blank">More info here</a>)
|
3641 |
+
When your video is not streaming live or premiering, the YouTube live player will simply display a countdown after the user clicks the play button (Note: turning on auto-play will display the countdown without any user action)..
|
3642 |
+
Instead of showing that player, you can display some "coming soon" content in that space for your visitors to see until your video begins to live stream or premiere.
|
3643 |
+
The plugin will automatically switch to your video's live stream or premiere once it's active.
|
3644 |
Below, enter what you would like to appear until then.
|
3645 |
If you just want to show the standard countdown player that YouTube provides, uncheck this option.
|
3646 |
<strong class="check-note"><span class="orange">NOTE:</span> This feature uses a significant amount of your YouTube API quota. We suggest unchecking it if your site has high traffic. If you chose to use this feature, do not put another live stream embed below.</strong>
|
4188 |
</label>
|
4189 |
</p>
|
4190 |
<div class="hr"></div>
|
4191 |
+
<p>
|
4192 |
+
<img class="ssaltgallery" src="<?php echo plugins_url('images/ss-live-chat.jpg', __FILE__) ?>" />
|
4193 |
+
<input disabled type="checkbox" class="checkbox">
|
4194 |
+
<label>
|
4195 |
+
<b class="chktitle"><?php _e('Enable Live Chat:', 'youtube-embed-plus') ?></b> <span class="pronon"><?php _e('(PRO Users)', 'youtube-embed-plus') ?></span> <?php _e('<sup class="orange">new</sup>') ?> <?php _e('Add more interaction to your site by including the YouTube live chat box as part of each live stream or premiere embed. Note that live chat can also be an option for earning money from your audience by using the Super Chat feature. <a href="https://creatoracademy.youtube.com/page/lesson/superchat" target="_blank">Learn more here</a>.') ?>
|
4196 |
+
<strong class="check-note"><?php _e('<span class="orange">NOTE:</span> In wide containers, the chat box will appear to the right of the player. It will appear below the player when the container is less than 964px. Also, Google/YouTube disables live chat on mobile devices. So for mobile phones and tablets, the chat box will be hidden.') ?></strong>
|
4197 |
+
</label>
|
4198 |
+
<br>
|
4199 |
+
<br>
|
4200 |
+
</p>
|
4201 |
+
<div class="hr"></div>
|
4202 |
<p>
|
4203 |
<img class="ssaltgallery" src="<?php echo plugins_url('images/ssaltgalleryall.jpg', __FILE__) ?>" />
|
4204 |
<select disabled>
|
5220 |
<label for="<?php echo self::$opt_responsive_all; ?>0">Responsive for only videos embedded via this plugin</label>
|
5221 |
</p>
|
5222 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5223 |
<div class="ytprefs-ob-setting yob-gallery">
|
5224 |
<label for="<?php echo self::$opt_gallery_pagesize; ?>"><b class="chktitle">Default Gallery Page Size:</b></label>
|
5225 |
<select name="<?php echo self::$opt_gallery_pagesize; ?>" id="<?php echo self::$opt_gallery_pagesize; ?>" style="width: 60px;">
|
5244 |
<div class="ytprefs-ob-setting yob-live">
|
5245 |
<input name="<?php echo self::$opt_not_live_on; ?>" id="<?php echo self::$opt_not_live_on; ?>" <?php checked($all[self::$opt_not_live_on], 1); ?> type="checkbox" class="checkbox">
|
5246 |
<label for="<?php echo self::$opt_not_live_on; ?>">
|
5247 |
+
<b class="chktitle">Default "Not Live" Content:</b> (For direct-link video streams and premieres, <em>not</em> channel streams. <a href="<?php echo self::$epbase ?>/how-to-embed-a-youtube-livestream-in-wordpress.aspx" target="_blank">More info here</a>)
|
5248 |
+
When your video is not streaming live or premiering, the YouTube live player will simply display a countdown after the user clicks the play button (Note: turning on auto-play will display the countdown without any user action)..
|
5249 |
+
Instead of showing that player, you can display some "coming soon" content in that space for your visitors to see until your video begins to live stream or premiere.
|
5250 |
+
The plugin will automatically switch to your video's live stream or premiere once it's active.
|
5251 |
Below, enter what you would like to appear until then.
|
5252 |
If you just want to show the standard countdown player that YouTube provides, uncheck this option.
|
5253 |
<strong class="check-note"><span class="orange">NOTE:</span> This feature uses a significant amount of your YouTube API quota. We suggest unchecking it if your site has high traffic. If you chose to use this feature, do not put another live stream embed below.</strong>
|