[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f7TVkzhaC0nncCwbZdS9UIqpMnAmY3-ytWII5nob8JCY":3,"$fz3zBNj726hgUYbhCXeEehxNTLsKC-_2VMvPF1obhNeM":244,"$fI9yGosPvh3Cv1HbIMkviIMtoFbDs0HakVvNyL3t7u88":249},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"discovery_status":31,"vulnerabilities":32,"developer":33,"crawl_stats":29,"alternatives":38,"analysis":131,"fingerprints":226},"wp-theater","WP Theater","1.2.3","kentfarst","https:\u002F\u002Fprofiles.wordpress.org\u002Fkentfarst\u002F","\u003Cp>WP Theater provides shortcodes for integrating \u003Cstrong>YouTube\u003C\u002Fstrong> and \u003Cstrong>Vimeo\u003C\u002Fstrong> 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.\u003C\u002Fp>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Current version tested on WordPress version 3.9 and later.\u003C\u002Fli>\n\u003Cli>PHP 5.3 or later with cURL\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>For parameters and their usage please visit:\u003C\u002Fp>\n\u003Cp>http:\u002F\u002Fredshiftstudio.com\u002Fwp-theater\u002F\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Boring Embed\u003C\u002Fstrong> – The classic\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C!--YouTube Error: bad URL entered-->\n\u003C!-- vimeo error: not a vimeo video -->\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Preview\u003C\u002Fstrong> – Thumbnail and title of a single video\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C!--YouTube Error: bad URL entered-->\n\u003C!-- vimeo error: not a vimeo video -->\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Theater\u003C\u002Fstrong> – Traditional embed that’s wrapped for styling, has optional Lower Lights and Full Window buttons, and is responsive.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C!--YouTube Error: bad URL entered-->\n\u003C!-- vimeo error: not a vimeo video -->\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cem>The following contain a “theater” by default\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>User\u003C\u002Fstrong> – Listing of a user’s videos\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C!--YouTube Error: bad URL entered-->\n\u003C!-- vimeo error: not a vimeo video -->\n\u002F\u002F for YouTube's v3 API see FAQ about user uploads vs playlists.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Channel\u003C\u002Fstrong> – Listing of videos from a specific channel\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C!-- vimeo error: not a vimeo video -->\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Playlist\u003C\u002Fstrong> – Listing of videos from a user’s playlist\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C!--YouTube Error: bad URL entered-->\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Album\u003C\u002Fstrong> – Listing of videos from a specific album\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C!-- vimeo error: not a vimeo video -->\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Group\u003C\u002Fstrong> – Listing of videos from a specific group\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C!-- vimeo error: not a vimeo video -->\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Developer FAQ\u003C\u002Fh3>\n\u003Ch4>How can I customize the output\u003C\u002Fh4>\n\u003Cp>Filters exist that can handle complete customization of the output.  Written as “Filter_Hook” ($callback_params … )\u003C\u002Fp>\n\u003Cp>Display — Override built in output\u003C\u002Fp>\n\u003Cul>\n\u003Cli>“wp_theater-pre_video_shortcode” ( FALSE, $feed, $atts )\u003C\u002Fli>\n\u003Cli>“wp_theater-pre_theater” ( FALSE, $atts, $content, $tag )\u003C\u002Fli>\n\u003Cli>“wp_theater-pre_video_preview” ( FALSE, $video, $atts, $selected )\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Attributes\u003C\u002Fp>\n\u003Cul>\n\u003Cli>“wp_theater-format_params” ( $atts, $content, $tag )\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>“wp_theater-pre_get_request_url” ( FALSE, $atts, $request, $output )\u003C\u002Fli>\n\u003Cli>“wp_theater-parse_{$service}_response” ( $out, $response, $atts) \u002F\u002F v1.1.3\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Content\u003C\u002Fp>\n\u003Cul>\n\u003Cli>“wp_theater-section_title” ( $title )\u003C\u002Fli>\n\u003Cli>“wp_theater-video_title” ( $title )\u003C\u002Fli>\n\u003Cli>“wp_theater-{$service}_more_url” ( FALSE, $atts, $data ) \u002F\u002F v1.1.4\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Presets\u003C\u002Fp>\n\u003Cul>\n\u003Cli>“wp_theater-get_preset” ( $name )\u003C\u002Fli>\n\u003Cli>“wp_theater-set_preset” ( $arr, $name )\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How do I add my own preset?\u003C\u002Fh4>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>function my_preset_init ($presets) {\n    $presets->set_preset( 'my_preset', shortcode_atts( $presets->get_preset( 'youtube' ), array(\n        'embed_width' => 342,\n        'embed_height' => 192,\n        'max' => 9,\n    ) ) );\n    add_shortcode( 'my_preset', array( WP_Theater::$shortcodes, 'video_shortcode' ) );\n}\nadd_action('wp_theater-shortcodes_init', 'my_preset_init');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>What values can I define in presets\u003C\u002Fh4>\n\u003Cp>Listed below are all of the possible settings you can define in a preset with their base values\u003C\u002Fp>\n\u003Cpre>\u003Ccode>array(\n    \u002F\u002F general options\n    'preset' => '',\n    'service' => '',\n    'mode' => 'embed',\n    'id' => '',\n    'embed_width' => FALSE,\n    'embed_height' => FALSE,\n    'class' => '',\n    'cache' => FALSE,\n\n    \u002F\u002F preview & listing options\n    'img_size' => 'medium',\n    'columns' => 3,\n    'max' => 12,\n    'autoplay_onclick' => TRUE,\n\n    \u002F\u002F Title options\n    'show_title' => TRUE,\n    'show_video_title' => TRUE,\n    'title' => '',\n\n    \u002F\u002F More link options\n    'show_more_link' => TRUE,\n    'more_url' => FALSE,\n    'more_text' => FALSE,\n\n    \u002F\u002F Theater options\n    'show_theater' => TRUE,\n    'theater_id' => FALSE,\n    'show_fullwindow' => FALSE,\n    'show_lowerlights' => FALSE,\n    'keep_ratio' => TRUE,\n    'iframe_placeholder' = > TRUE            \u002F\u002F since 1.2.0\n\n    \u002F\u002F can only be defined in presets\n    'modes' => array(), \u002F\u002F the modes array with matching link formats\n    'classes' => array( \u002F\u002F the classes to apply to their respective elements\n        'section' => 'entry-section wp-theater-section %service%',\n        'theater' => 'wp-theater-bigscreen',\n        'embed' => 'wp-theater-iframe',\n        'list' => 'wp-theater-listing',\n        'preview' => 'video-preview'\n    )\n);\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>How can I modify the embed url?\u003C\u002Fh4>\n\u003Cp>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.\u003Cbr \u002F>\ne.g.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002F make youtube embed with https and youtube-nocookie.com\nfunction my_preset_init ($presets) {\n    $youtube_preset = $presets->get_preset( 'youtube' );\n    $youtube_preset['modes']['embed'] = 'https:\u002F\u002Fwww.youtube-nocookie.com\u002Fembed\u002F%id%?wmode=transparent&autohide=1';\n    $presets->set_preset( 'youtube', $youtube_preset );\n}\nadd_action('wp_theater-shortcodes_init', 'my_preset_init');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>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.\u003C\u002Fp>\n\u003Ch4>What do the formatted feeds look like?\u003C\u002Fh4>\n\u003Cp>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\u003C\u002Fp>\n\u003Cp>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.\u003C\u002Fp>\n\u003Cp>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:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>object\n    'title' => string\n    'url' => string\n    'videos' => array\n        0 => object\n            'title' => string\n            'id' => string\n            'url' => string\n            'upload_date' => string\n            'description' => string\n            'category' => string\n            'duration' => string\n            'rating' => string\n            'likeCount' => string\n            'viewCount' => string\n            'width' => string\n            'height' => string\n            'thumbnails' => array\n                'small' => string\n                'medium' => string\n                'large' => string\n                'cover' => string       \u002F\u002F since 1.2.0 -- set to the largest available image.\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Shortcodes for YouTube and Vimeo. Includes embeds, \"Theater\" embed, thumbed previews, playlist, channel, user uploads and groups.",200,14191,92,5,"2015-04-26T16:18:00.000Z","4.2.39","3.6","",[20,21,22,23,24],"embed","shortcode","video","vimeo-shortcode","youtube-shortcode","http:\u002F\u002Fredshiftstudio.com\u002Fwp-theater\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.2.3.zip",85,0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},1,30,84,"2026-05-19T21:39:48.806Z",[39,61,82,99,116],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":49,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":18,"tags":54,"homepage":59,"download_link":60,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"vimeo-everywhere","Vimeo Everywhere","2.1","Michael","https:\u002F\u002Fprofiles.wordpress.org\u002Fmgyura\u002F","\u003Cp>Display your public Vimeo videos, albums or channels on a WordPress website.  Use the shortcode generator to place your videos on pages, posts or custom post types.  Use the admin panel to place your videos in the dashboard (for example, make a learning center for your clients).  Use the widget to put a video list in the sidebar.\u003C\u002Fp>\n","Display your public Vimeo videos on your WordPress website via shortcode, widget, or dashboard menu.  Perfect for making a custom training library",50,8575,60,2,"2016-12-16T15:54:00.000Z","4.7.33","4.0",[55,56,57,58,23],"learning-center","video-training","videos","vimeo","http:\u002F\u002Fpokayoke.co","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvimeo-everywhere.zip",{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":69,"downloaded":70,"rating":71,"num_ratings":34,"last_updated":72,"tested_up_to":73,"requires_at_least":74,"requires_php":18,"tags":75,"homepage":80,"download_link":81,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"inline-video-shortcodes","Inline Video Shortcodes","20171108","brighterlouder","https:\u002F\u002Fprofiles.wordpress.org\u002Fbrighterlouder\u002F","\u003Cp>This plugin extends the WordPress video tag to include the muted and playsinline attributes, which are both required for an autoplay video to correctly function on iPhone.\u003C\u002Fp>\n","Extends the built-in Wordpress video shortcode with 'muted' and 'playsinline' attributes to enabline inline and automatic html5 vi &hellip;",40,1965,100,"2017-11-12T08:14:00.000Z","4.8.28","4.4.0",[76,77,78,79,21],"autoplay","embed-video","inline","iphone","https:\u002F\u002Fdeveloper.wordpress.org\u002Fplugins\u002Fthe-basics\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Finline-video-shortcodes.zip",{"slug":83,"name":84,"version":85,"author":86,"author_profile":87,"description":88,"short_description":89,"active_installs":35,"downloaded":90,"rating":28,"num_ratings":28,"last_updated":91,"tested_up_to":92,"requires_at_least":93,"requires_php":18,"tags":94,"homepage":97,"download_link":98,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"livestream-embedder","Livestream Embedder","1.0.0","SAT","https:\u002F\u002Fprofiles.wordpress.org\u002Fstronganchortech\u002F","\u003Cp>Livestream Embedder allows you to embed a live stream from a YouTube channel or the most recent video using a shortcode. You can configure the API key and channel ID via the plugin’s settings page.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Embed a live stream or most recent video with a shortcode.\u003Cbr \u002F>\n* Configure the YouTube Data API key and default channel ID via settings.\u003Cbr \u002F>\n* Display error messages if no live stream is available.\u003Cbr \u002F>\n* Responsive video embeds.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Note on External Services:\u003C\u002Fstrong>\u003Cbr \u002F>\nThis plugin uses the YouTube iframe API and YouTube Data API to fetch video data from YouTube and display it. Users must provide their own YouTube API key, which is required to make requests to the YouTube Data API v3. The data requested includes information about the live streams or videos on a given YouTube channel.\u003C\u002Fp>\n\u003Cp>By using this plugin, you agree to YouTube’s \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Ft\u002Fterms\" rel=\"nofollow ugc\">Terms of Service\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fpolicies.google.com\u002Fprivacy\" rel=\"nofollow ugc\">Privacy Policy\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Shortcode Usage:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>To embed a live stream from a specific channel:\u003Cbr \u002F>\n   [livestream_embedder channel_id=”CHANNEL_ID”]\u003C\u002Fp>\n\u003Cp>Replace \u003Ccode>CHANNEL_ID\u003C\u002Fcode> with the actual YouTube channel ID (e.g. \u003Ccode>UCabcdefghijklmnopqrstuvwx\u003C\u002Fcode>).\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>If you’ve configured a default channel ID in the plugin settings, you can use the shortcode without the \u003Ccode>channel_id\u003C\u002Fcode> attribute:\u003Cbr \u002F>\n   [livestream_embedder]\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>How to Find the Channel ID:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Go to the YouTube channel’s page.\u003C\u002Fli>\n\u003Cli>Look at the URL in your browser’s address bar. The channel ID is the string of characters after the “\u002Fchannel\u002F” part of the URL.\u003C\u002Fli>\n\u003Cli>If the channel uses a custom URL, you can find the channel ID by viewing the page source and searching for “channelId”.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later. You can modify and distribute it under the terms of the GNU General Public License as published by the Free Software Foundation.\u003C\u002Fp>\n","Embeds a YouTube live stream or the most recent video from a channel using a simple shortcode.",906,"2024-10-07T12:21:00.000Z","6.6.5","5.0",[20,95,21,22,96],"livestream","youtube","https:\u002F\u002Fgithub.com\u002Fstronganchor\u002Flivestream-embedder\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flivestream-embedder.1.0.0.zip",{"slug":100,"name":101,"version":85,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":106,"downloaded":107,"rating":28,"num_ratings":28,"last_updated":108,"tested_up_to":109,"requires_at_least":93,"requires_php":110,"tags":111,"homepage":114,"download_link":115,"security_score":71,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"display-dynamic-shorts-for-youtube-with-shortcode","Display Dynamic Shorts for YouTube With Shortcode","tolue","https:\u002F\u002Fprofiles.wordpress.org\u002Ftolue\u002F","\u003Cp>Display YouTube Shorts directly on your WordPress site with a clean, responsive layout that works on all devices. Simply add your channel handle, customize the appearance, and use the shortcode to showcase shorts anywhere. The plugin automatically caches video data to improve loading speed, provides mobile-optimized views, and lets you control exactly which elements appear (titles, view counts, durations, etc.) to match your site’s design.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Channel Integration\u003C\u002Fstrong>: Display Shorts from any YouTube channel using the channel handle\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive Design\u003C\u002Fstrong>: Optimized grid layout for desktop and smooth slider for mobile devices\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable Display\u003C\u002Fstrong>: Show or hide video titles, view counts, timestamps, and more\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Caching System\u003C\u002Fstrong>: Built-in caching to optimize performance and reduce API calls\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy Implementation\u003C\u002Fstrong>: Simple shortcode to add Shorts anywhere on your site\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom Styling\u003C\u002Fstrong>: Adjust colors and layout to match your website’s design\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Lightweight & Fast\u003C\u002Fstrong>: Optimized code for quick loading times\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Use Cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Content creators showcasing their latest Shorts\u003C\u002Fli>\n\u003Cli>Businesses featuring product demonstrations or testimonials\u003C\u002Fli>\n\u003Cli>Educators displaying educational content\u003C\u002Fli>\n\u003Cli>Event websites highlighting event clips\u003C\u002Fli>\n\u003Cli>Bloggers enhancing posts with relevant video content\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How to Use\u003C\u002Fh4>\n\u003Cp>Simply use the \u003Ccode>[dyshorts]\u003C\u002Fcode> shortcode to display Shorts on any page or post. You can customize the display using various shortcode attributes:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[dyshorts channel=\"ChannelName\" max=\"10\" columns=\"4\" cache=\"3600\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 5.0 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.0 or higher\u003C\u002Fli>\n\u003Cli>YouTube API Key (for accessing channel data)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shortcode Parameters\u003C\u002Fh3>\n\u003Cp>The plugin supports the following shortcode parameters:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>channel\u003C\u002Fcode> – Channel handle without the @ symbol (e.g., “yourchannelname”)\u003C\u002Fli>\n\u003Cli>\u003Ccode>max\u003C\u002Fcode> – Number of Shorts to display (1-50)\u003C\u002Fli>\n\u003Cli>\u003Ccode>columns\u003C\u002Fcode> – Number of columns on desktop (2-6)\u003C\u002Fli>\n\u003Cli>\u003Ccode>cache\u003C\u002Fcode> – Cache duration in seconds (minimum 300)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Display Options\u003C\u002Fh3>\n\u003Cp>From the settings page, you can control these display elements:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Show\u002Fhide video title\u003C\u002Fli>\n\u003Cli>Show\u002Fhide view count\u003C\u002Fli>\n\u003Cli>Show\u002Fhide time ago\u003C\u002Fli>\n\u003Cli>Show\u002Fhide duration overlay\u003C\u002Fli>\n\u003Cli>Show\u002Fhide “Watch on YouTube” link\u003C\u002Fli>\n\u003Cli>Show\u002Fhide channel header section\u003C\u002Fli>\n\u003Cli>Show\u002Fhide channel avatar\u003C\u002Fli>\n\u003Cli>Show\u002Fhide channel name and subtitle\u003C\u002Fli>\n\u003Cli>Show\u002Fhide “Visit Channel” button\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Colors and layout can also be customized to match your website’s design.\u003C\u002Fp>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin connects to the YouTube Data API v3 to retrieve video data from YouTube channels. This API connection is necessary to display YouTube Shorts on your WordPress site.\u003C\u002Fp>\n\u003Ch4>YouTube Data API v3\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Service Purpose\u003C\u002Fstrong>: The plugin uses YouTube Data API v3 to search for channels, retrieve video lists, and get detailed information about YouTube Shorts videos.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>When API Calls Happen\u003C\u002Fstrong>: API requests are made when:\n\u003Cul>\n\u003Cli>A page containing the shortcode is loaded and the cached data has expired\u003C\u002Fli>\n\u003Cli>Plugin settings are updated (to refresh the data)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data Sent\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>YouTube channel handles\u002FIDs provided in the plugin settings or shortcode\u003C\u002Fli>\n\u003Cli>API key (provided by you in the plugin settings)\u003C\u002Fli>\n\u003Cli>Standard API request parameters as required by YouTube API\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data Retrieved\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>Channel information (title, thumbnail URL)\u003C\u002Fli>\n\u003Cli>Video details (title, duration, view count, publish date)\u003C\u002Fli>\n\u003Cli>No personal user data is collected or transmitted\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms of Service and Privacy\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdevelopers.google.com\u002Fterms\u002F\" rel=\"nofollow ugc\">Google APIs Terms of Service\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fpolicies.google.com\u002Fprivacy\" rel=\"nofollow ugc\">Google Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The plugin caches all requests to minimize API usage and improve performance. The cache duration is configurable in the plugin settings.\u003C\u002Fp>\n\u003Cp>Note: You will need to create your own Google API key with YouTube Data API v3 enabled to use this plugin. The plugin includes fallback data if no API key is provided, but live data from YouTube channels requires a valid API key.\u003C\u002Fp>\n","Display YouTube Shorts from any channel in a responsive grid or slider layout with customizable options and dynamic loading.",10,456,"2025-05-31T20:20:00.000Z","6.8.5","7.0",[112,22,96,24,113],"dynamic-youtube","youtube-shorts-carousel","https:\u002F\u002Ftolue.net\u002Fplugins\u002Fshorts-for-youtube","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdisplay-dynamic-shorts-for-youtube-with-shortcode.1.0.0.zip",{"slug":117,"name":118,"version":119,"author":120,"author_profile":121,"description":122,"short_description":123,"active_installs":106,"downloaded":124,"rating":28,"num_ratings":28,"last_updated":125,"tested_up_to":126,"requires_at_least":127,"requires_php":18,"tags":128,"homepage":129,"download_link":130,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"f13-youtube-shortcode","F13 Youtube Shortcode","2.0","f13dev","https:\u002F\u002Fprofiles.wordpress.org\u002Ff13dev\u002F","\u003Cp>Using F13 Youtube Shortcode you can simply embed a Youtube video into your WordPress powered website using shortcode.\u003C\u002Fp>\n\u003Cp>Features include:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Simply install and add the shortcode\u003C\u002Fli>\n\u003Cli>All you need is the Youtube video id (the last section of the URL)\u003C\u002Fli>\n\u003Cli>Optionally set the autoplay attribute to true for the video to play when the page loads\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Ff13.dev\u002Fwordpress-plugin-youtube-shortcode\u002F\" rel=\"nofollow ugc\">Read more about F13 YouTube Shortcode\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n","Do you want to embed a youtube video into a page on your blog without having to find the embed code, just use shortcode.",7726,"2021-10-21T17:46:00.000Z","5.8.13","3.0.1",[20,21,22,96],"https:\u002F\u002Ff13.dev\u002Fwordpress-plugin-youtube-shortcode\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ff13-youtube-shortcode.zip",{"attackSurface":132,"codeSignals":195,"taintFlows":216,"riskAssessment":217,"analyzedAt":225},{"hooks":133,"ajaxHandlers":177,"restRoutes":178,"shortcodes":179,"cronEvents":194,"entryPointCount":14,"unprotectedCount":28},[134,139,143,147,152,155,159,163,168,171,174],{"type":135,"name":136,"callback":136,"file":137,"line":138},"action","admin_menu","inc\\class-settings.php",17,{"type":135,"name":140,"callback":141,"file":137,"line":142},"admin_init","settings_init",19,{"type":135,"name":144,"callback":144,"file":145,"line":146},"init","inc\\class-shortcodes.php",33,{"type":148,"name":149,"callback":150,"priority":106,"file":145,"line":151},"filter","wp_theater-parse_youtube_response","parse_youtube_v3_response",180,{"type":148,"name":149,"callback":153,"priority":106,"file":145,"line":154},"parse_youtube_v2_response",182,{"type":148,"name":156,"callback":157,"priority":106,"file":145,"line":158},"wp_theater-parse_vimeo_response","parse_vimeo_response",184,{"type":148,"name":160,"callback":161,"priority":106,"file":145,"line":162},"wp_theater-youtube_more_url","get_youtube_more_url",187,{"type":135,"name":164,"callback":165,"file":166,"line":167},"load-plugins.php","activate_notices","wp-theater.php",165,{"type":135,"name":140,"callback":169,"file":166,"line":170},"admin_notices",166,{"type":135,"name":169,"callback":172,"file":166,"line":173},"admin_notice_activation",189,{"type":135,"name":169,"callback":175,"file":166,"line":176},"admin_notice_upgrade_youtube",203,[],[],[180,184,186,188,191],{"tag":181,"callback":182,"file":145,"line":183},"wptheater","video_shortcode",167,{"tag":96,"callback":182,"file":145,"line":185},171,{"tag":58,"callback":182,"file":145,"line":187},172,{"tag":189,"callback":182,"file":145,"line":190},"youtube_widget",174,{"tag":192,"callback":182,"file":145,"line":193},"vimeo_widget",175,[],{"dangerousFunctions":196,"sqlUsage":197,"outputEscaping":199,"fileOperations":28,"externalRequests":50,"nonceChecks":28,"capabilityChecks":50,"bundledLibraries":215},[],{"prepared":28,"raw":28,"locations":198},[],{"escaped":35,"rawEcho":200,"locations":201},8,[202,204,205,207,208,209,211,213],{"file":137,"line":167,"context":203},"raw output",{"file":137,"line":183,"context":203},{"file":137,"line":206,"context":203},168,{"file":137,"line":193,"context":203},{"file":137,"line":154,"context":203},{"file":137,"line":210,"context":203},198,{"file":166,"line":212,"context":203},82,{"file":166,"line":214,"context":203},231,[],[],{"summary":218,"deductions":219},"The wp-theater plugin version 1.2.3 presents a generally positive security posture based on the static analysis.  The absence of known CVEs and a clean vulnerability history suggests a well-maintained plugin or one with a limited history of exploitable flaws.  The code analysis reveals good practices such as 100% of SQL queries utilizing prepared statements and a high percentage of output escaping.  The attack surface, while composed of 5 shortcodes, is notably free of unprotected entry points, and the presence of capability checks is encouraging.\n\nHowever, there are areas for improvement and potential concern. The complete lack of nonce checks across all entry points is a significant weakness. While the attack surface is currently described as \"unprotected: 0,\" this is likely due to the absence of any detected AJAX handlers or REST API routes that would typically require nonce validation. If future versions introduce such features or if the existing shortcodes interact with server-side logic in ways not detected by this static analysis, the lack of nonces could become a critical security gap, potentially allowing for Cross-Site Request Forgery (CSRF) attacks.\n\nOverall, the plugin exhibits strengths in data handling and query security. The primary concern lies in the lack of CSRF protection mechanisms (nonces), which is a foundational security practice for WordPress plugins. The clean vulnerability history is a positive indicator, but it should not be seen as a guarantee of future security, especially given the identified potential for CSRF vulnerabilities.",[220,222],{"reason":221,"points":106},"Missing nonce checks on all entry points",{"reason":223,"points":224},"Slightly lower output escaping percentage",3,"2026-03-16T20:28:51.207Z",{"wat":227,"direct":236},{"assetPaths":228,"generatorPatterns":231,"scriptPaths":232,"versionParams":233},[229,230],"\u002Fwp-content\u002Fplugins\u002Fwp-theater\u002Fcss\u002Fstyle.min.css","\u002Fwp-content\u002Fplugins\u002Fwp-theater\u002Fjs\u002Fscript.min.js",[],[230],[234,235],"wp-theater\u002Fstyle.css?ver=","wp-theater\u002Fscript.js?ver=",{"cssClasses":237,"htmlComments":239,"htmlAttributes":240,"restEndpoints":241,"jsGlobals":242,"shortcodeOutput":243},[238],"wp-theater-youtube-upgrade-notice",[],[],[],[],[],{"error":245,"url":246,"statusCode":247,"statusMessage":248,"message":248},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fwp-theater\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":250,"versions":251},20,[252,258,265,272,279,286,293,300,307,314,321,328,335,342,349,356,363,370,377,384],{"version":6,"download_url":26,"svn_tag_url":253,"released_at":29,"has_diff":254,"diff_files_changed":255,"diff_lines":29,"trac_diff_url":256,"vulnerabilities":257,"is_current":245},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.2.3\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.2.2&new_path=%2Fwp-theater%2Ftags%2F1.2.3",[],{"version":259,"download_url":260,"svn_tag_url":261,"released_at":29,"has_diff":254,"diff_files_changed":262,"diff_lines":29,"trac_diff_url":263,"vulnerabilities":264,"is_current":254},"1.2.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.2.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.2.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.2.1&new_path=%2Fwp-theater%2Ftags%2F1.2.2",[],{"version":266,"download_url":267,"svn_tag_url":268,"released_at":29,"has_diff":254,"diff_files_changed":269,"diff_lines":29,"trac_diff_url":270,"vulnerabilities":271,"is_current":254},"1.2.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.2.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.2.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.2&new_path=%2Fwp-theater%2Ftags%2F1.2.1",[],{"version":273,"download_url":274,"svn_tag_url":275,"released_at":29,"has_diff":254,"diff_files_changed":276,"diff_lines":29,"trac_diff_url":277,"vulnerabilities":278,"is_current":254},"1.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.1.5&new_path=%2Fwp-theater%2Ftags%2F1.2",[],{"version":280,"download_url":281,"svn_tag_url":282,"released_at":29,"has_diff":254,"diff_files_changed":283,"diff_lines":29,"trac_diff_url":284,"vulnerabilities":285,"is_current":254},"1.1.5","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.1.5.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.1.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.1.4&new_path=%2Fwp-theater%2Ftags%2F1.1.5",[],{"version":287,"download_url":288,"svn_tag_url":289,"released_at":29,"has_diff":254,"diff_files_changed":290,"diff_lines":29,"trac_diff_url":291,"vulnerabilities":292,"is_current":254},"1.1.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.1.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.1.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.1.3&new_path=%2Fwp-theater%2Ftags%2F1.1.4",[],{"version":294,"download_url":295,"svn_tag_url":296,"released_at":29,"has_diff":254,"diff_files_changed":297,"diff_lines":29,"trac_diff_url":298,"vulnerabilities":299,"is_current":254},"1.1.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.1.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.1.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.1.2&new_path=%2Fwp-theater%2Ftags%2F1.1.3",[],{"version":301,"download_url":302,"svn_tag_url":303,"released_at":29,"has_diff":254,"diff_files_changed":304,"diff_lines":29,"trac_diff_url":305,"vulnerabilities":306,"is_current":254},"1.1.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.1.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.1.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.1.1&new_path=%2Fwp-theater%2Ftags%2F1.1.2",[],{"version":308,"download_url":309,"svn_tag_url":310,"released_at":29,"has_diff":254,"diff_files_changed":311,"diff_lines":29,"trac_diff_url":312,"vulnerabilities":313,"is_current":254},"1.1.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.1.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.1.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.1.0&new_path=%2Fwp-theater%2Ftags%2F1.1.1",[],{"version":315,"download_url":316,"svn_tag_url":317,"released_at":29,"has_diff":254,"diff_files_changed":318,"diff_lines":29,"trac_diff_url":319,"vulnerabilities":320,"is_current":254},"1.1.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.1.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.0.9&new_path=%2Fwp-theater%2Ftags%2F1.1.0",[],{"version":322,"download_url":323,"svn_tag_url":324,"released_at":29,"has_diff":254,"diff_files_changed":325,"diff_lines":29,"trac_diff_url":326,"vulnerabilities":327,"is_current":254},"1.0.9","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.0.9.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.0.9\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.0.8&new_path=%2Fwp-theater%2Ftags%2F1.0.9",[],{"version":329,"download_url":330,"svn_tag_url":331,"released_at":29,"has_diff":254,"diff_files_changed":332,"diff_lines":29,"trac_diff_url":333,"vulnerabilities":334,"is_current":254},"1.0.8","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.0.8.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.0.8\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.0.7&new_path=%2Fwp-theater%2Ftags%2F1.0.8",[],{"version":336,"download_url":337,"svn_tag_url":338,"released_at":29,"has_diff":254,"diff_files_changed":339,"diff_lines":29,"trac_diff_url":340,"vulnerabilities":341,"is_current":254},"1.0.7","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.0.7.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.0.7\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.0.6&new_path=%2Fwp-theater%2Ftags%2F1.0.7",[],{"version":343,"download_url":344,"svn_tag_url":345,"released_at":29,"has_diff":254,"diff_files_changed":346,"diff_lines":29,"trac_diff_url":347,"vulnerabilities":348,"is_current":254},"1.0.6","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.0.6.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.0.6\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.0.5&new_path=%2Fwp-theater%2Ftags%2F1.0.6",[],{"version":350,"download_url":351,"svn_tag_url":352,"released_at":29,"has_diff":254,"diff_files_changed":353,"diff_lines":29,"trac_diff_url":354,"vulnerabilities":355,"is_current":254},"1.0.5","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.0.5.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.0.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.0.4&new_path=%2Fwp-theater%2Ftags%2F1.0.5",[],{"version":357,"download_url":358,"svn_tag_url":359,"released_at":29,"has_diff":254,"diff_files_changed":360,"diff_lines":29,"trac_diff_url":361,"vulnerabilities":362,"is_current":254},"1.0.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.0.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.0.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.0.3&new_path=%2Fwp-theater%2Ftags%2F1.0.4",[],{"version":364,"download_url":365,"svn_tag_url":366,"released_at":29,"has_diff":254,"diff_files_changed":367,"diff_lines":29,"trac_diff_url":368,"vulnerabilities":369,"is_current":254},"1.0.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.0.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.0.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.0.2&new_path=%2Fwp-theater%2Ftags%2F1.0.3",[],{"version":371,"download_url":372,"svn_tag_url":373,"released_at":29,"has_diff":254,"diff_files_changed":374,"diff_lines":29,"trac_diff_url":375,"vulnerabilities":376,"is_current":254},"1.0.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.0.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.0.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.0.1&new_path=%2Fwp-theater%2Ftags%2F1.0.2",[],{"version":378,"download_url":379,"svn_tag_url":380,"released_at":29,"has_diff":254,"diff_files_changed":381,"diff_lines":29,"trac_diff_url":382,"vulnerabilities":383,"is_current":254},"1.0.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.0.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.0.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwp-theater%2Ftags%2F1.0.0&new_path=%2Fwp-theater%2Ftags%2F1.0.1",[],{"version":85,"download_url":385,"svn_tag_url":386,"released_at":29,"has_diff":254,"diff_files_changed":387,"diff_lines":29,"trac_diff_url":29,"vulnerabilities":388,"is_current":254},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.0.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwp-theater\u002Ftags\u002F1.0.0\u002F",[],[]]