WordPress OSINT, maintenance or security needs? Reach out!
TLDWP

Plugin: wp-theater (Used by 6 domains)

WP Theater

👤 kentfarst 📦 v1.2.3 🔗 Plugin Homepage

WP Theater provides shortcodes for integrating YouTube and Vimeo video embeds and feeds into your posts or widgets. Some options include traditional embedding, single video previews, a wrapped “Theater” embed, and video listings from playlists, channels, albums and groups. WP Theater was built with developers in mind, those who need flexibility. With that said, great effort was put into making sure this plugin stayed simple.

Requirements

  1. Current version tested on WordPress version 3.9 and later.
  2. PHP 5.3 or later with cURL

Usage

For parameters and their usage please visit:

http://redshiftstudio.com/wp-theater/

Boring Embed – The classic



Preview – Thumbnail and title of a single video



Theater – Traditional embed that’s wrapped for styling, has optional Lower Lights and Full Window buttons, and is responsive.



The following contain a “theater” by default

User – Listing of a user’s videos



// for YouTube's v3 API see FAQ about user uploads vs playlists.

Channel – Listing of videos from a specific channel


Playlist – Listing of videos from a user’s playlist


Album – Listing of videos from a specific album


Group – Listing of videos from a specific group


Developer FAQ

How can I customize the output

Filters exist that can handle complete customization of the output. Written as “Filter_Hook” ($callback_params … )

Display — Override built in output

  • “wp_theater-pre_video_shortcode” ( FALSE, $feed, $atts )
  • “wp_theater-pre_theater” ( FALSE, $atts, $content, $tag )
  • “wp_theater-pre_video_preview” ( FALSE, $video, $atts, $selected )

Attributes

  • “wp_theater-format_params” ( $atts, $content, $tag )

API Feeds — Override built in api request and parsing. NOTE: Keep in mind that these filters will only be called when the transient cache is updated.

  • “wp_theater-pre_get_request_url” ( FALSE, $atts, $request, $output )
  • “wp_theater-parse_{$service}_response” ( $out, $response, $atts) // v1.1.3

Content

  • “wp_theater-section_title” ( $title )
  • “wp_theater-video_title” ( $title )
  • “wp_theater-{$service}_more_url” ( FALSE, $atts, $data ) // v1.1.4

Presets

  • “wp_theater-get_preset” ( $name )
  • “wp_theater-set_preset” ( $arr, $name )

How do I add my own preset?

The following code will create a preset named “my_preset”. We do not currently, but are planning to, offer a method of saving presets to the database so that they stick around between theme’s.

function my_preset_init ($presets) {
    $presets->set_preset( 'my_preset', shortcode_atts( $presets->get_preset( 'youtube' ), array(
        'embed_width' => 342,
        'embed_height' => 192,
        'max' => 9,
    ) ) );
    add_shortcode( 'my_preset', array( WP_Theater::$shortcodes, 'video_shortcode' ) );
}
add_action('wp_theater-shortcodes_init', 'my_preset_init');

What values can I define in presets

Listed below are all of the possible settings you can define in a preset with their base values

array(
    // general options
    'preset' => '',
    'service' => '',
    'mode' => 'embed',
    'id' => '',
    'embed_width' => FALSE,
    'embed_height' => FALSE,
    'class' => '',
    'cache' => FALSE,

    // preview & listing options
    'img_size' => 'medium',
    'columns' => 3,
    'max' => 12,
    'autoplay_onclick' => TRUE,

    // Title options
    'show_title' => TRUE,
    'show_video_title' => TRUE,
    'title' => '',

    // More link options
    'show_more_link' => TRUE,
    'more_url' => FALSE,
    'more_text' => FALSE,

    // Theater options
    'show_theater' => TRUE,
    'theater_id' => FALSE,
    'show_fullwindow' => FALSE,
    'show_lowerlights' => FALSE,
    'keep_ratio' => TRUE,
    'iframe_placeholder' = > TRUE            // since 1.2.0

    // can only be defined in presets
    'modes' => array(), // the modes array with matching link formats
    'classes' => array( // the classes to apply to their respective elements
        'section' => 'entry-section wp-theater-section %service%',
        'theater' => 'wp-theater-bigscreen',
        'embed' => 'wp-theater-iframe',
        'list' => 'wp-theater-listing',
        'preview' => 'video-preview'
    )
);

How can I modify the embed url?

Each preset requires a modes array to store the different link formats used. You can directly access and modify these yourself through a theme’s functions.php.
e.g.

// make youtube embed with https and youtube-nocookie.com
function my_preset_init ($presets) {
    $youtube_preset = $presets->get_preset( 'youtube' );
    $youtube_preset['modes']['embed'] = 'https://www.youtube-nocookie.com/embed/%id%?wmode=transparent&autohide=1';
    $presets->set_preset( 'youtube', $youtube_preset );
}
add_action('wp_theater-shortcodes_init', 'my_preset_init');

NOTE: Each mode URL must have %id% in the place of the id. And, it’s a bit dumb but, for now you must include at least one query parameter in an embed’s url.

What do the formatted feeds look like?

Vimeo’s feed will return exactly what their API states except we merge their info and video requests into one and clone values to help normalize the feeds. Youtube on the other hand is almost completely reformatted into a format based on Vimeo’s

You can count on the full feeds returning the following content with an exception being that single preview feeds do not have the feed title or url.

Also, with YouTube’s v3 API enabled, rating, likeCount and viewCount will always be empty strings since you must use OAuth2 and be a verified content owner:

object
    'title' => string
    'url' => string
    'videos' => array
        0 => object
            'title' => string
            'id' => string
            'url' => string
            'upload_date' => string
            'description' => string
            'category' => string
            'duration' => string
            'rating' => string
            'likeCount' => string
            'viewCount' => string
            'width' => string
            'height' => string
            'thumbnails' => array
                'small' => string
                'medium' => string
                'large' => string
                'cover' => string       // since 1.2.0 -- set to the largest available image.
DomainExposuresHeadersLast Checked
e*t*r*r*o*l*.com F 2026-04-10 13:25:23
n*m*a*o.com F 2026-04-09 18:08:35
m*c*a*l*h*n*.ca 2025-11-12 07:09:24
s*r*t*s.com 2025-11-10 10:24:53
p*o*d*o*h*n*e*.com 2025-11-09 22:46:17
c*r*s*a*h*n*l*i.com 2025-11-06 20:41:50

Top 50 Plugins

Plugin Count
elementor 3,130,855
contact-form-7 2,735,465
elementor-pro 1,738,460
woocommerce 1,483,030
revslider 1,038,859
js_composer 664,046
jetpack 509,556
wp-rocket 476,358
essential-addons-for-elementor-lite 467,877
header-footer-elementor 415,956
elementskit-lite 392,594
gutenberg-core 372,287
google-analytics-for-wordpress 348,849
instagram-feed 347,629
google-site-kit 334,295
cookie-law-info 322,415
complianz-gdpr 320,674
gravityforms 320,493
wpforms-lite 301,070
astra-sites 295,259
sitepress-multilingual-cms 274,945
litespeed-cache 261,765
bluehost-wordpress-plugin 257,777
gtranslate 205,793
coblocks 189,536
cookie-notice 187,248
gutenberg 163,551
the-events-calendar 159,928
premium-addons-for-elementor 154,164
mailchimp-for-wp 150,441
popup-maker 150,006
astra-addon 149,991
bb-plugin 148,872
LayerSlider 142,728
wp-smushit 140,902
creame-whatsapp-me 137,840
pro-elements 137,520
click-to-chat-for-whatsapp 135,358
custom-fonts 132,595
tablepress 131,487
woocommerce-gateway-stripe 123,741
sg-cachepress 122,097
duracelltomi-google-tag-manager 121,808
royal-elementor-addons 120,330
smart-slider-3 119,829
cleantalk-spam-protect 118,135
pixelyoursite 117,636
ultimate-addons-for-gutenberg 114,179
akismet 113,398
fusion-builder 113,096

Top 50 Themes

Theme Count
hello-elementor 984,154
astra 851,499
Divi 800,179
pub 245,937
generatepress 184,840
flatsome 182,933
Avada 167,830
h4 161,693
oceanwp 135,860
kadence 118,975
enfold 99,311
bb-theme 96,741
salient 96,163
twentytwentyfive 93,953
blocksy 93,538
twentytwentyfour 93,517
cocoon-master 88,896
betheme 80,849
twentyseventeen 75,734
woodmart 73,587
dt-the7 65,328
neve 57,568
twentytwentyone 49,613
bridge 48,755
swell 47,400
lightning 42,779
twentytwentythree 42,126
twentytwenty 42,104
Avada-Child-Theme 40,862
gox 38,713
Impreza 34,207
bricks 33,977
Newspaper 32,355
twentytwentytwo 31,854
storefront 26,192
extendable 26,028
epik-redesign 25,861
yith-wonder 25,821
pro 25,640
uncode 25,064
twentysixteen 24,424
themify-ultra 24,315
sydney 23,862
twentyfifteen 22,784
Total 21,314
porto 20,390
hestia 18,994
thrive-theme 18,016
go 17,634
popularfx 17,612