WpStream Blocks, Widgets, and Shortcodes

wpstream shortcodes, widgets, and blocks

WpStream Blocks, Widgets and Shortcodes Reference

Last updated: June 25, 2026

By the WpStream Editorial Team

WpStream is a wp video streamer plugin that gives you four video-embed shortcodes for putting live streams and recorded video on any WordPress page, plus a beta wpstream_chat shortcode for live chat. The wpstream_player shortcode embeds a live or VOD player and is the core player for WordPress in the plugin. The wpstream_go_live shortcode drops front-end broadcasting controls on a page for logged-in users. The wpstream_list_media_channels shortcode builds a browsable grid of live channels, and wpstream_list_media_vod builds a grid of on-demand videos. Here is the part that trips people up: WpStream does not register any custom Gutenberg block types. In the block editor you add a standard WordPress Shortcode block and paste a WpStream shortcode inside it. If you run Elementor, the same four video features appear as named widgets; in WPBakery, as named elements. Every method runs the same underlying code, so the output is identical. (If you only need pre-recorded playback with no live component, Presto Player fits that job better. WpStream is built for live streaming and pay-per-view.) This wp video streamer reference covers the four video-embed shortcodes and every way to place them. WpStream publishes this guide.

Which embed method should you use?

Before you copy a single shortcode, settle one thing: WpStream does not ship registered custom block types for Gutenberg. There is no “WpStream Player” entry in the block inserter, and no dedicated WpStream block type of any kind. The block-editor path is the standard WordPress Shortcode block, and that path works on any page or post. Once you know that, the rest of the decision is just which editor you already run.

Editor context Method Visual configuration panel? When to use
WordPress block editor (Gutenberg) WordPress Shortcode block containing a WpStream shortcode No (attributes edited by hand) Default for every site not running Elementor or WPBakery; works on any page or post
WordPress Classic Editor Paste the WpStream shortcode straight into the content area No Sites still running the Classic Editor plugin
Elementor WpStream-named Elementor widget (drag and drop) Yes (dropdowns, toggles) Sites running Elementor; the easiest path for visual configuration with no shortcode syntax
WPBakery Page Builder WpStream-named WPBakery element (Add Element search) Yes (dropdowns, toggles) Sites running WPBakery; identical capability to the Elementor widgets

So the shortcode is the universal fallback. It works in Gutenberg, the Classic Editor, widget areas, and theme templates. The page-builder widgets add a no-code settings panel on top. Nothing more.

The shortcode, the Elementor widget, and the WPBakery element are backed by the same code, so their behavior is the same. WpStream’s shortcodes documentation lists all of them with their attributes in one place.

Finding your channel ID and VOD ID

Every WpStream shortcode, widget, and element needs at least one ID: a channel ID, a VOD ID, or a WooCommerce product ID for pay-per-view content. Getting the right ID is the first step before you place anything, and it is the single most common point of confusion for new users. It takes about thirty seconds once you know where to look.

Live channel ID

Go to WpStream, then Channels (labeled Free-To-View Live Channels for free streams) in the WordPress admin. Each channel shows its ID directly beneath the channel title in the list. For pay-per-view live channels, the ID you want is the WooCommerce product ID, which sits in the URL of the product edit screen.

VOD ID and product ID

Go to WpStream, then Free-To-View VODs in the WordPress admin and open the video for editing. The ID is the number after “post=” in the browser address bar. If the URL reads “…/wp-admin/post.php?post=262&action=edit”, the VOD ID is 262. For pay-per-view VODs, use the WooCommerce product ID from that product’s edit URL instead.

Embedding the WpStream player

The wpstream_player shortcode embeds a WpStream video player for a live stream or a recorded VOD on any page or post. It is the core player for WordPress embed method in the plugin, and it is the one you will reach for most often.

Player shortcode attributes

Attribute Accepted values What it does
id Channel ID, VOD ID, or WooCommerce product ID Required. Identifies which channel or VOD the player shows. Find channel IDs under WpStream, then Channels. Find VOD IDs in the admin URL after “post=”. For pay-per-view content, use the WooCommerce product ID.
user_id WordPress user ID Optional. Shows the first active event belonging to that user. Use it in multi-streamer setups to put a specific user’s live content on their own profile page, the way a broadcaster page works on Twitch.

A live or VOD embed looks like this:

[wpstream_player
  id="1234"
][/wpstream_player]

If you are working inside a theme template or a child theme file, call the same shortcode from PHP:

echo do_shortcode(
  '[wpstream_player id="1234"][/wpstream_player]'
);

Adding the player in the block editor

This is the step the older guides never covered, so here it is in full. Open your page or post in the WordPress block editor. Click the plus icon to open the block inserter, search for “Shortcode,” and add the Shortcode block to the page. Inside that block, type or paste the wpstream_player shortcode with your own channel or VOD ID in place of 1234.

Click Preview or Publish, and the player renders exactly as it would in the Classic Editor. To say it plainly one more time: there is no “WpStream Player” block in the Gutenberg inserter. The Shortcode block is the correct, documented path. WpStream’s own embed guide says it directly: if you use the classic or Gutenberg block editors with your WordPress site, simply add this shortcode manually into your page or post.

Adding the player in Elementor and WPBakery

In Elementor, search for “WpStream Player” in the widget panel on the left, drag it onto the layout, enter your channel or VOD ID in the ID field, and publish. In WPBakery, click Add Element, search for “WpStream Player,” and set the ID in the element options panel. Both produce the same player as the shortcode, because both run the same code underneath.

Letting registered users go live

The wpstream_go_live shortcode places a front-end broadcasting control panel on any page, so a logged-in WordPress user can start a live stream without ever touching the WordPress admin. Put it on a broadcaster page or a user profile page and you have the foundation of a Twitch-style multi-streamer site, built entirely inside WordPress.

Go-live shortcode attributes

Attribute What it does
id Channel ID. Specifies which channel the logged-in user broadcasts on. Include it explicitly for the shortcode version.
[wpstream_go_live
  id="1234"
][/wpstream_go_live]

One difference worth flagging: in the Elementor and WPBakery equivalents you can leave the ID blank, and the plugin auto-discovers the first channel owned by the logged-in user. For the shortcode version, supply an explicit ID per the current documentation.

Setting up user role permissions

Before the go-live control will appear for anyone, the site admin has to grant permission. Go to WpStream, then Settings, and choose which WordPress user roles (Editor, Author, Contributor, or Subscriber) are allowed to go live. Only users with an assigned role see the broadcasting panel; everyone else sees nothing.

But skip this step and the shortcode renders a blank control for most visitors. Set the roles first.

Recommended placements for the go-live control

A few placements that work well in practice. First, a dedicated “Go Live” page with access restricted to logged-in users. Second, a user profile page built with BuddyPress, BuddyBoss, or a custom template; pair the control there with a wpstream_player shortcode using the user_id attribute, so visitors watch that same user’s stream on the same page.

Third, a site-admin broadcaster dashboard. In Elementor the widget is named “WpStream Start Streaming.” In WPBakery the element is named “WpStream Start Streaming Button.”

Channel list and VOD list shortcodes

Both list shortcodes generate a browsable grid of content. The channel list shows live streams; the VOD list shows recorded video. They accept the same core filtering attributes, with one honest exception: only the channel list has a show-live filter, because VODs are always available whether or not anything is broadcasting.

Channel list shortcode and attributes

Attribute Accepted values What it does Notes
media_number Integer How many channels to display per page Defaults to 3. Set it explicitly if you want a different grid size.
product_type_free_paid 0 or 1 0 shows free channels; 1 shows pay-per-view (WooCommerce product) channels Use two instances to show both types on one page (see below)
product_show_live yes or no yes shows only channels currently streaming; no shows all channels live or not Not present on the VOD list shortcode
free_label String Link label text shown under free channel items For example, “Watch Now”
order_by 0, 1, 2, or 3 0 is date ascending, 1 is date descending, 2 is title A to Z, 3 is title Z to A Same values on both list shortcodes
[wpstream_list_media_channels
  media_number='9'
  product_type_free_paid='0'
  product_show_live='no'
  free_label='click here'
  order_by='1'
][/wpstream_list_media_channels]

VOD list shortcode and attributes

Attribute Accepted values What it does
media_number Integer How many VODs to display
product_type_free_paid 0 or 1 0 shows free VODs; 1 shows pay-per-view VODs
free_label String Link label text for free items
order_by 0, 1, 2, or 3 Same four sort options as the channel list shortcode

Notice what is missing: this shortcode has no product_show_live attribute. VODs are on demand by definition, so a “show only live” filter would mean nothing here.

[wpstream_list_media_vod
  media_number='9'
  product_type_free_paid='0'
  free_label='click here VOD'
  order_by='1'
][/wpstream_list_media_vod]

Displaying free and PPV content on the same page

To show free and pay-per-view channels together, add two channel list shortcodes to the page: one with product_type_free_paid set to 0 and one with it set to 1. They can run in sequence or sit in separate columns. The same trick works for VOD lists. This covers the common layout where a homepage or directory shows free content next to premium content.

List widgets in Elementor and WPBakery

Both lists exist as named widgets in Elementor: “WpStream Channel List” and “WpStream Video on Demand List.” In WPBakery, search for those same two names in the Add Element panel. Every option, the free or paid filter, the show-live toggle, the count, the sort order, appears as a visual dropdown instead of a shortcode attribute.

Player skins and branding

WpStream version 4.12.3 includes five player skins, set in WpStream, then Settings, then General Settings, then Video Player Skins. The five are Default, City, Forest, Fantasy, and Sea. The skin you pick applies globally to every WpStream player on the site, live players and VOD players alike.

And you can switch skins during an active live stream without interrupting the broadcast, a detail the player themes documentation (updated June 2025) confirms. For a full walkthrough of the available options, see video player customization.

You can also overlay your own logo on the player. Add it under WpStream, then Settings, then General Settings, then Adding Your Logo. The logo sits on top of the player and is part of WpStream’s white-label branding. For step-by-step logo setup, see how to brand the video player.

One thing to keep straight: skins and logos are global settings. Per-channel options live elsewhere. Autoplay, start muted, viewer count display, live stream recording, CORS domain lock, stream encryption, and auto turn-on are each set on the individual channel in the WpStream Channels admin screen. None of those are shortcode attributes.

Key Takeaways

  • WpStream provides four video-embed shortcodes (wpstream_player, wpstream_go_live, wpstream_list_media_channels, and wpstream_list_media_vod), plus a beta wpstream_chat shortcode for live chat.
  • WpStream ships no native Gutenberg block types; in the block editor, add a standard WordPress Shortcode block and paste the WpStream shortcode inside it.
  • Shortcodes, Elementor widgets, and WPBakery elements all run the same underlying code and produce identical output.
  • The wpstream_go_live shortcode needs user role permissions set under WpStream, then Settings before broadcasting controls appear for registered users.
  • WpStream 4.12.3 offers five player skins (Default, City, Forest, Fantasy, Sea), set globally and switchable during a live broadcast without interruption.

WpStream keeps adding embedding options to the wp video streamer toolkit, so the parameter tables here reflect the current documented state in version 4.12.3 and will track new attributes and integrations as they ship. The wpstream_chat live chat is still in beta, tied to a live channel and active only while that channel is on air, so expect it to grow into its own reference as it matures. As of June 2026, version 4.12.3 runs on more than 4,000 WordPress sites and holds a 4.8 out of 5 rating from 78 reviews on WordPress.org. And if your site only needs pre-recorded video playback with no live component at all, Presto Player is a strong fit for that narrower job; WpStream is built specifically for live streaming and pay-per-view.

To see the full WpStream plugin feature set, from RTMP ingest and adaptive bitrate delivery to WooCommerce pay-per-view gating, start at the main WpStream page and pick the embed method that matches your editor.