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

Plugin: wp-theater (Used by 5 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
a*i*t*c*a*o*l*n*s*o*.com F 2026-07-22 10:20:05
j*m*i*a.c*.uk F 2026-07-16 16:47:51
e*t*r*r*o*l*.com F 2026-07-11 09:49:20
f*d*l*.com (WP 5.1.22) ⚠️ 👤 D 2026-07-11 08:52:33
s*r*t*s.com (WP 7.0) 👤 F 2026-07-01 12:48:23

Top 50 Plugins

Plugin Count
elementor 1,790,471
contact-form-7 1,776,985
elementor-pro 1,060,251
woocommerce 821,590
revslider 617,190
jetpack 462,542
js_composer 426,753
wp-rocket 342,673
essential-addons-for-elementor-lite 268,743
complianz-gdpr 262,424
gravityforms 258,456
cookie-law-info 232,566
google-site-kit 232,217
instagram-feed 228,114
sitepress-multilingual-cms 213,798
header-footer-elementor 210,488
google-analytics-for-wordpress 209,012
bluehost-wordpress-plugin 193,518
elementskit-lite 183,768
gutenberg 167,324
cookie-notice 152,106
litespeed-cache 142,242
gtranslate 127,196
wpforms-lite 127,160
gutenberg-core 126,436
the-events-calendar 124,215
astra-sites 116,304
popup-maker 111,668
woocommerce-payments 111,409
tablepress 102,668
honeypot 98,638
astra-addon 95,153
wp-smushit 92,213
duracelltomi-google-tag-manager 91,539
all-in-one-seo-pack 90,866
layerslider 90,842
coblocks 90,303
bb-plugin 86,864
premium-addons-for-elementor 85,808
akismet 85,783
cleantalk-spam-protect 83,771
mailchimp-for-wp 83,242
ml-slider 83,145
megamenu 81,358
woocommerce-gateway-stripe 80,656
fusion-builder 78,325
jet-engine 77,472
ewww-image-optimizer 77,459
smart-slider-3 77,269
wp-pagenavi 77,196

Top 50 Themes

Theme Count
hello-elementor 625,787
Divi 504,042
astra 421,695
flatsome 136,386
Avada 122,988
generatepress 116,318
pub 88,006
oceanwp 82,134
kadence 79,952
enfold 70,274
salient 65,992
twentyseventeen 55,052
twentytwentyfour 52,986
betheme 52,877
bb-theme 52,845
blocksy 51,601
cocoon-master 50,232
dt-the7 46,007
twentytwentyfive 44,955
h4 43,800
woodmart 40,288
neve 38,806
Avada-Child-Theme 37,374
gox 36,223
bridge 32,013
twentytwentyone 30,752
lightning 30,296
twentytwenty 29,152
swell 28,479
bricks 26,539
Impreza 26,427
Newspaper 24,475
twentytwentythree 22,507
epik-redesign 19,380
twentytwentytwo 19,140
uncode 18,809
twentysixteen 17,777
pro 17,631
sydney 16,810
storefront 16,519
Total 14,656
hello-theme-child-master 14,102
factory-templates-4 13,738
extendable 13,678
themify-ultra 13,136
hestia 12,778
yootheme 12,749
yith-wonder 12,723
porto 12,099
twentynineteen 11,750