WP Manifestindependent plugin directory
manifest / content / tv-screen-display

TV Screen Display

Adds a custom WordPress plugin for managing TV display pages and TV items, including standalone frontend rendering, media support, slide rotation, display assignment, and QR code generation.

by Giannis Sifakis · github.com/giansifakis/tv-screen-display

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/giansifakis/tv-screen-display/archive/refs/heads/main.zip

Readme

TV Screen Display

A lightweight WordPress plugin for creating standalone TV, kiosk, or digital signage display pages.

The plugin lets you create multiple custom TV display URLs and assign rotating content items to each display. Each display page is rendered independently from the active WordPress theme, without the normal header, footer, menus, sidebars, or page layout.

Features

  • Create multiple standalone TV display pages.
  • Each display gets its own public URL, for example /tv-display/reception-screen/.
  • Display pages are rendered without the WordPress theme header and footer.
  • Add unlimited TV items and assign them to a specific display.
  • Rotate automatically between assigned TV items.
  • Support for featured images, image carousels, and direct video URLs.
  • Generate a QR code for each TV item.
  • Set a custom slide duration per item.
  • Set a default slide duration per display.
  • Auto-refresh display pages after a defined number of minutes.
  • Choose between two layouts:
    • Media left / QR right
    • QR left / Media right
  • Use keyboard arrows to manually move between slides.

Plugin Structure

/tv-screen-display
├── assets
│   ├── css
│   │   └── tv-screen.css
│   └── js
│       ├── admin.js
│       └── tv-screen.js
├── tv-screen-display.php
└── README.txt

Installation

Option 1: Upload through WordPress admin

  1. Download or export the plugin as a .zip file.
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin.
  3. Upload tv-screen-display.zip.
  4. Activate the plugin.

Option 2: Upload manually

  1. Upload the plugin folder to:
/wp-content/plugins/tv-screen-display/
  1. Go to WordPress Admin → Plugins.
  2. Activate TV Screen Display.

After activation, WordPress rewrite rules are flushed automatically so the display URLs can work correctly.

Admin Usage

After activation, a new admin menu appears:

TV Displays

From there, you can manage both display pages and display items.

Creating a TV Display

  1. Go to TV Displays → Add New.
  2. Add a title, for example:
Reception Screen
  1. Configure the display settings.
  2. Publish the display.
  3. Copy the generated standalone TV URL from the display settings box.

The URL will look like this:

https://yourwebsite.com/tv-display/reception-screen/

Open this URL directly on the TV screen, browser, kiosk device, or mini PC.

TV Display Settings

Each TV Display includes the following settings:

Setting Description
Small label Short text displayed above the item title. Default: Scan to open.
QR caption Text displayed below the QR code. Default: Scan the QR code to learn more.
Default slide duration Default time in seconds for each slide when an item does not have its own duration.
Auto-refresh page every Refreshes the TV page every X minutes. Use 0 to disable auto-refresh.
Layout Choose whether the media appears on the left or on the right.

Creating TV Items

  1. Go to TV Displays → TV Items → Add New.
  2. Add a title.
  3. Assign the item to a TV Display.
  4. Select the media type.
  5. Add the related media and QR URL.
  6. Publish the item.

Only published TV Items assigned to a specific display will appear on that display page.

TV Item Settings

Each TV Item includes the following settings:

Setting Description
TV Display The display page where this item should appear.
Media type Choose between featured image, image carousel, or video.
Carousel images Select multiple images from the WordPress Media Library. Used only for carousel items.
Video URL Direct video URL. Direct .mp4 files are recommended for reliable TV autoplay.
QR URL The URL encoded into the QR code.
Slide duration Time in seconds for this specific item. Leave empty to use the display default.
Optional short text A short description shown below the item title.

Media Types

Featured Image

Use this when the item should display a single image.

  1. Set Media type to Featured image.
  2. Add a featured image to the TV Item.

Image Carousel

Use this when the item should rotate between multiple images.

  1. Set Media type to Image carousel.
  2. Click Select carousel images.
  3. Choose multiple images from the WordPress Media Library.

Carousel images rotate automatically inside the active slide.

Video

Use this when the item should display a video.

  1. Set Media type to Video.
  2. Add a direct video URL.

For best results, use a direct .mp4 file uploaded to WordPress or hosted on your own server.

YouTube, Vimeo, or embedded video URLs are not recommended for TV autoplay because many browsers and TV devices block or restrict embedded autoplay.

QR Code Generation

Each TV Item can have its own QR URL. The generated QR code is displayed next to the title and optional description.

In the current starter version, QR codes are generated using:

https://api.qrserver.com

This means the TV screen needs internet access to load the generated QR image.

For a production version that must work offline or avoid external services, the QR code generation should be replaced with a local bundled QR library.

Display Page Behavior

The standalone TV page:

  • Loads only the plugin display layout.
  • Does not load the active theme header.
  • Does not load the active theme footer.
  • Does not display WordPress menus, sidebars, or normal page content.
  • Rotates automatically through all assigned published TV Items.
  • Restarts videos when their slide becomes active.
  • Moves to the next slide when a video ends.
  • Supports left and right keyboard arrow navigation.
  • Can auto-refresh after a defined number of minutes.

URL Structure

TV Displays use the following URL structure:

/tv-display/display-slug/

Examples:

/tv-display/reception-screen/
/tv-display/event-screen/
/tv-display/waiting-room-screen/

Recommended TV Setup

For best results:

  1. Open the standalone display URL in a browser.
  2. Put the browser in fullscreen mode.
  3. Use a mini PC, laptop, Android TV box, or browser-supported smart TV.
  4. Use direct .mp4 videos instead of embedded video platforms.
  5. Keep image and video file sizes optimized for smooth playback.
  6. Enable auto-refresh if the content will be updated during the day.

Development Notes

The plugin registers two custom post types:

Post Type Purpose
tsd_display Stores each standalone TV display page.
tsd_item Stores the content items assigned to TV displays.

Main plugin file:

tv-screen-display.php

Front-end assets:

assets/css/tv-screen.css
assets/js/tv-screen.js

Admin asset:

assets/js/admin.js

Future Improvements

Possible improvements for a later version:

  • Replace external QR generation with a local bundled QR code library.
  • Add color/style settings per display.
  • Add custom logo support.
  • Add scheduling options for TV Items.
  • Add start and end dates for each item.
  • Add categories or playlists.
  • Add drag-and-drop ordering for TV Items.
  • Add transition style options.
  • Add support for portrait screens.
  • Add REST API support for remote content updates.

Requirements

  • WordPress 6.0 or newer recommended.
  • PHP 7.4 or newer recommended.
  • A modern browser on the TV/device.
  • Internet access for QR generation in the current starter version.

Author

Giannis Sifakis
LinkedIn Profile

Read the full README on GitHub →