WP YouTube Live
Displays the current YouTube live video from a specified channel via the shortcode [youtube_live]. Setup Notes Your YouTube livestream must be set to “Public” or it will not work. This is a security feature of YouTube’s API and unfortunately there’s no way to work around it. In addition, your live stream must be set to allow embedding on third-party sites. If that feature is unavailable, you may need to enable monetization for your account. See YouTube documentation for more information or help with allowing embedding. How It Works If no live video is available, you can display a specified video or a “channel player” showing all your recent videos. You can also enable auto-refresh to automatically check for a live video every 30 seconds (warning: will increase server load, so use with caution). By default, the server will check YouTube’s API and then cache that response for 15 minutes before checking the API again (you may change this value in the admin settings). If auto-refresh is enabled, clients will check against your server every 30 seconds and likely will hit that cache as well, so it can potentially take up to 16 minutes before a client will get a live video. The length of both caches can be changed using the wp_youtube_live_transient_timeout filter (see below for more information). If no live video is available when a page is loaded, several fallback options are available: “Show a custom HTML message” allows you to specify a custom message to show “Show scheduled live videos” will show a player and countdown until your next live video “Show last completed live video” will show your most recently-completed live video “Show recent videos from my channel” will show a playlist of recent videos from your channel “Show a specified playlist” will show a specified playlist “Show a specified video” will show a specified video “Show nothing at all” will show nothing at all When a video ends, users’ browsers will check your server again to see if a live video is available. If so, it will load that; if not, it will fall back as set in your options. Shortcode Options width: player width in pixels; defaults to what you set on the settings page height: player height in pixels; defaults to what you set on the settings page autoplay: whether or not to start playing immediately on load; defaults to false auto_refresh: (either true or false) overrides the auto-refresh setting on the settings page fallback_behavior: choose from the following: upcoming, completed, channel, playlist, video, message, no_message upcoming: the next upcoming scheduled video on the specified channel playlist: a specified playlist (shortcode must also include the fallback_playlist attribute) video: a specified video (shortcode must also include the fallback_video attribute) message: a specified message no_message: nothing at all fallback_playlist: a playlist URL to show when there are no live videos fallback_video: a video URL to show when there are no live videos fallback_message: a message to show when there are no live videos js_only: (either true or false) workaround for some caching issues; if a caching plugin (W3 Total Cache, WP Super Cache, etc.) or proxy (CloudFlare, etc.) caches the HTML while a video is live, visitors may continue to see an old live video even if it has ended. If set js_only is set to true, the server never displays the player code in the initial request and instead sends it in response to uncached ajax requests. This may also result in the video player being slightly delayed on page load due to the extra request, depending on the clients’ bandwidth and latency. Example shortcode: [youtube_live width="720" height="360" autoplay="true"] Filters The filter wp_youtube_live_no_stream_available will customize the message viewers see if there is no live stream currently playing, and takes effect after the fallback_message shortcode attribute is parsed (if fallback_message="no_message" is set in a shortcode, it will override the filter). For example, add this to your theme’s functions.php file: add_filter( 'wp_youtube_live_no_stream_available', 'my_ytl_custom_message' ); function my_ytl_custom_message( $message ) { $message = ' Please check back later or subscribe to our YouTube channel . Check again '; return $message; } The filter wp_youtube_live_transient_timeout is available to customize the cache timeout length in seconds. For example, add this to your theme’s functions.php file to set the cache length to 15 seconds instead of the default 900: add_filter( 'wp_youtube_live_transient_timeout', 'my_ytl_custom_timeout' ); function my_ytl_custom_timeout( $timeout ) { return 15; } Event Listener When a live stream is loaded, the wpYouTubeLiveStarted event is fired; you can use this to create custom front-end features on your site by adding an event listener: window.addEventListener('wpYouTubeLiveStarted', function() { /* your code here */ console.log('stream started'); /* your code here */ }); Development of this plugin is done on GitHub. Pull requests are always welcome.
Top keywords
- live25×2.98%
- video23×2.74%
- message17×2.03%
- show17×2.03%
- youtube13×1.55%
- live video10×1.19%
- specified10×1.19%
- fallback9×1.07%
- playlist9×1.07%
- set9×1.07%
- youtube live8×0.95%
- channel7×0.83%
oEmbed Plus
Adds support for embedding Facebook and Instagram posts in Block Editor (Gutenberg) and Classic Editor. This feature was removed in WordPress core due to deprecation of legacy APIs WordPress core used. Prior to WordPress 5.5.1, WordPress had support to embed Instagram and Facebook photos, videos, notes, quizes, etc in posts created with Block Editor and Classic Editor. However, Facebook removed this legacy API in October 2020, and this plugin implements the new APIs to bring back support for Facebook and Instagram content embedding. Note that you will need to register a Facebook developer account and create an app to get API credentials that this plugin uses. There is no coding necessary, but an API key needs to be created and set for the plugin. Detailed setup instructions are available in oEmbed Plus guide at PHP.Watch This project is not owned, endorsed, or otherwise affiliated with Facebook Inc. or Instagram LLC.
Top keywords
- facebook6×3.92%
- editor4×2.61%
- instagram4×2.61%
- wordpress4×2.61%
- api3×1.96%
- support3×1.96%
- apis2×1.31%
- block2×1.31%
- block editor2×1.31%
- classic2×