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.
Table of Content





