Putting a stream on a page
A stream shows on any page, post or template: with the Live stream block, with the stream's own blocks laid out as you like, or with shortcodes for page builders, widgets and themes.
Create a page
The quickest way: in Live Stream → Studio, press Create a page beside a stream that no page shows yet. Live Stream publishes a page with the stream on it, wide, the chat beside the player, and the Live now list links to it. The Stream tab of the stream's studio offers the same. It's there for hosts who may publish pages.
The Live stream block
Add the Live stream block and choose the stream; administrators can also make a new one right there. Then choose how it's laid out:
| Layout | What it shows |
|---|---|
| Chat beside | The player and its details, with the chat beside them; under them on a phone. |
| Chat below | The player, its details, then the chat, in one column. |
| Player only | The player and its details, without the chat. |
| Vertical video | An upright player, as from a phone, with the chat beside it. |
| With blocks | The player, the details and the chat as blocks of their own, in columns to move and change. |
Lay it out with blocks turns a ready layout into the stream's own blocks, which you can move, change, and mix with any other block; Use a ready layout instead goes back.
Width: a new Live stream block starts wide, so the chat has room beside the player. Its Width setting (the same as Align in the block's toolbar) is the content's width, wide, or the full width of the window, where your theme has wide blocks.
The editor draws every block with the player itself, as visitors will see it, with the stream's title, cover and planned start and your site's look. The block's toolbar switches between the moments (before it starts, live, after it ends) and between a viewer's view and the host's.
The stream's own blocks
Each part of a stream is a block of its own, inside a Live stream block or anywhere on its own (then it asks which stream). The parts of one stream on a page share one connection.
| Block | What it shows | Its choices |
|---|---|---|
| Stream player | The picture and its controls, the countdown before the start and the screen after the end. | Shape (16:9, 4:3, 9:16), the time on air and names on the video (shown, hidden, or as the site's appearance), and keeping the picture in sight at the top of a phone's screen while live. |
| Stream chat | The chat, with its moderation. | Its height, 240 to 1200 pixels. Without one, as tall as the player beside it, or the site's chat height under it. |
| Stream details | The title, when it started and how many watch, with reactions, sharing and asking to join the stage. | Each of the three shown or not. |
| Stream studio | The controls for going live from this page. Only the stream's hosts see them; everyone else sees nothing. | None. |
In a Row block, the player and the details take the room there is and the chat a sidebar's width beside them, wrapping under them where the row is too narrow.
Shortcodes
Every block has a shortcode, for page builders, widgets, templates, and anywhere else shortcodes work. Each stream's own is shown in its settings.
| Shortcode | What it shows |
|---|---|
[easy_stream id="12"] | The stream in one piece: the player, and the chat beside it where there is room. Its hosts see the way to the studio over it; to go live from the page itself, add the Studio block or [easy_stream_studio id="12"] beside it. Add layout="side", "below", "player" or "vertical" for a ready layout. |
[easy_stream_player id="12"] | The player. shape="16:9", "4:3" or "9:16"; clock and names as "show" or "hide"; sticky="yes" keeps it at the top of a phone's screen while live. |
[easy_stream_chat id="12" height="600"] | The chat, with a height in pixels if you like. |
[easy_stream_details id="12"] | The details. title="no", meta="no" or actions="no" leaves a part out. |
[easy_stream_studio id="12"] | Going live from the page, for the stream's hosts only. |
[easy_stream_live] | The Live now list (below). |
A deleted stream shows nothing; administrators find an HTML comment saying why.
Live now
The Live now block, or [easy_stream_live], lists your streams that are live right now, the latest first, each with how many watch and a link to its page. It changes the moment a stream goes live or ends, without reloading the page, and it lists only the streams each visitor may watch.
| Choice | Block | Shortcode |
|---|---|---|
| What it lists | Streams live now, streams coming up, or both | show="live", "upcoming" or "both" |
| How it looks | A list, cards with each stream's cover, or a small Live badge for a header or a menu | display="list", "cards" or "badge" |
| While nothing is live | "No streams are live right now", or nothing at all | hide_when_none="yes" hides it |
The streams coming up are those with a planned start, the soonest first, with their date and time.
Which page it links to: a stream's Live now link, in its settings, or else the first public page found showing it. A stream that no public page shows yet is left out.
Block patterns
In the block inserter's Live Stream patterns, a page starts from one of these: Live event, Webinar, Vertical stream and Go live on the page.
Who can watch
Each stream's Who can watch setting:
- Everyone: anyone with the page, logged in or not.
- Logged-in users.
- Selected roles. With none chosen, every logged-in user.
Membership plugins can narrow it further with the easy_stream_can_watch filter, which gets the stream's own answer, its rules and the user's ID, and returns whether that user may watch. The stream's hosts can always watch.
add_filter( 'easy_stream_can_watch', function ( $can, $rules, $user_id ) {
// Your membership check here.
return $can && my_membership_is_active( $user_id );
}, 10, 3 );
A scheduled start
Give a stream a start in its Starts setting, and until a host goes live its player shows:
- the cover, the stream's own or the Appearance tab's;
- "The stream starts soon", with a countdown to the start and its date and time;
- Add to calendar, for Google Calendar, or a calendar file for Apple Calendar and Outlook.

Page caching
A public stream's page carries what a visitor needs to join, so a page cache can serve it and a crowd of viewers doesn't mean a crowd of requests to WordPress.