[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fBpr_DvrKJmvy-KcDW3uSP00QmZSnx6wGQixduZPG58I":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"vulnerabilities":30,"developer":31,"crawl_stats":28,"alternatives":39,"analysis":136,"fingerprints":447},"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",60,8509,2,"2016-12-16T15:54:00.000Z","4.7.32","4.0","",[19,20,21,22,23],"learning-center","video-training","videos","vimeo","vimeo-shortcode","http:\u002F\u002Fpokayoke.co","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvimeo-everywhere.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":32,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":35,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"mgyura",4,280,92,1,94,"2026-04-04T06:26:03.351Z",[40,61,80,101,118],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":50,"num_ratings":51,"last_updated":52,"tested_up_to":53,"requires_at_least":54,"requires_php":17,"tags":55,"homepage":59,"download_link":60,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"easy-support-videos","Easy Support Videos – Embed videos in the admin","2.0.0","Slocum Studio","https:\u002F\u002Fprofiles.wordpress.org\u002Fslocumstudio\u002F","\u003Cp>Easy Support Videos is great for WordPress consultants, trainers, and product owners to embed compatible oEmbed video into the admin dashboard of a WordPress website. Simply install the plugin, and copy\u002Fpaste the video link into the admin page, and Easy Support Videos will elegantly display a list of videos for your user.\u003C\u002Fp>\n\u003Cp>\u003Ciframe loading=\"lazy\" title=\"Easy Support Videos version 2.0\" src=\"https:\u002F\u002Fplayer.vimeo.com\u002Fvideo\u002F540834455?dnt=1&app_id=122963\" width=\"750\" height=\"422\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write\">\u003C\u002Fiframe>\u003C\u002Fp>\n\u003Cp>Admins can control who can see the videos, and edit\u002Fremove videos, by setting the available role options within Easy Support Video settings. You can also leave a custom note on the video page sidebar, offering further instructions or helpful tips.\u003C\u002Fp>\n\u003Cp>Easy Support Videos is perfect for supporting your client or website user, through the use of videos and screencasts available on the web.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Great plugin for WordPress trainers, educators, and support people\u003C\u002Fli>\n\u003Cli>Fast & lightweight\u003C\u002Fli>\n\u003Cli>Embed videos in the Admin screen with ease\u003C\u002Fli>\n\u003Cli>Control which role’s can see or edit videos\u003C\u002Fli>\n\u003Cli>Leave a custom note or message on the video page\u003C\u002Fli>\n\u003Cli>Embed videos from any oEmbed source\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Pro Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>White-label branding\u003C\u002Fli>\n\u003Cli>Drag-n-drop video sorting\u003C\u002Fli>\n\u003Cli>Create many video pages\u003C\u002Fli>\n\u003Cli>Change admin link placement\u003C\u002Fli>\n\u003Cli>Remove the ratings slug\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Feasysupportvideos.com\u002Fpricing\u002F?utm_source=easy-support-videos&utm_medium=link&utm_content=wp-org-readme-upgrade&utm_campaign=easy-support-videos\" rel=\"nofollow ugc\">Get Easy Support Videos Pro\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fblockquote>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsdsweb\u002Feasy-support-videos\u002F\" rel=\"nofollow ugc\">View Easy Support Videos on Github\u003C\u002Fa> | \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsdsweb\u002Feasy-support-videos\u002Fissues\u002F\" rel=\"nofollow ugc\">Issue Tracker\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Great plugin for WordPress trainers, educators, and support\u003C\u002Fli>\n\u003Cli>Fast & lightweight\u003C\u002Fli>\n\u003Cli>Embed videos in the Admin with ease\u003C\u002Fli>\n\u003Cli>Control which role’s can see or edit videos\u003C\u002Fli>\n\u003Cli>Leave a custom note or message on the video page\u003C\u002Fli>\n\u003Cli>Embed videos from any oEmbed source\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Issues\u002FBugs\u003C\u002Fh4>\n\u003Cp>Please report any issues or bugs on the \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsdsweb\u002Feasy-support-videos\u002Fissues\u002F\" rel=\"nofollow ugc\">GitHub Issue Tracker\u003C\u002Fa>.\u003C\u002Fp>\n","Easy Support Videos for embedding helpful tutorials, training videos, and screencasts in the Admin dashboard. Works with YouTube, Vimeo, Wistia, Video &hellip;",600,9253,100,9,"2022-06-20T18:10:00.000Z","6.0.0","4.3",[56,21,22,57,58],"support","wistia","youtube","https:\u002F\u002Fwww.easysupportvideos.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-support-videos.2.0.0.zip",{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":48,"downloaded":69,"rating":50,"num_ratings":70,"last_updated":71,"tested_up_to":72,"requires_at_least":73,"requires_php":74,"tags":75,"homepage":78,"download_link":79,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"responsive-videos-fitvids","Responsive videos – Fitvids","3.0.1","Sibin Grasic","https:\u002F\u002Fprofiles.wordpress.org\u002Fseebeen\u002F","\u003Cp>Responsive Videos plugin will allow you to automatically resize and scale your embedded videos on mobile devices.\u003Cbr \u002F>\nCSS selector option is provided so you can target only your post \u002F page content container.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatic configuration option\u003C\u002Fli>\n\u003Cli>Automatically resizes \u002F scales all your embedded videos\u003C\u002Fli>\n\u003Cli>Works on all browsers\u003C\u002Fli>\n\u003Cli>Highly compatible – you can change the css selector for the text highlight\u003C\u002Fli>\n\u003Cli>Customizable – you can select the page type on which to activate the fitVids script\u003C\u002Fli>\n\u003C\u002Ful>\n","Make your Embedded videos responsive on mobile devices with jQuery FitVids plugin",15430,11,"2020-11-09T14:13:00.000Z","5.5.18","5.3","7.2",[76,77,21,22,58],"fitvids","responsive","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fresponsive-videos-fitvids","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fresponsive-videos-fitvids.3.0.1.zip",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":88,"downloaded":89,"rating":35,"num_ratings":90,"last_updated":91,"tested_up_to":92,"requires_at_least":93,"requires_php":17,"tags":94,"homepage":99,"download_link":100,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"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,14124,5,"2015-04-26T16:18:00.000Z","4.2.39","3.6",[95,96,97,23,98],"embed","shortcode","video","youtube-shortcode","http:\u002F\u002Fredshiftstudio.com\u002Fwp-theater\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-theater.1.2.3.zip",{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":50,"downloaded":109,"rating":50,"num_ratings":36,"last_updated":17,"tested_up_to":110,"requires_at_least":16,"requires_php":17,"tags":111,"homepage":115,"download_link":116,"security_score":50,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":117},"video-sync-for-vimeo","WP Videos","3.0.9","RogueWebDesign","https:\u002F\u002Fprofiles.wordpress.org\u002Froguewebdesign\u002F","\u003Cp>\u003Cstrong>NEW:\u003C\u002Fstrong> WPVS Video and WPVS Video List Gutenberg Blocks along with 2 new shortcodes added for displaying WPVS video content on your website.\u003C\u002Fp>\n\u003Cp>WP Videos allows you create video post types from YouTube URLs and Vimeo URLs, use WordPress video uploads, other video plugin shortcodes or custom embed HTML and JS players.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Add Videos using Vimeo urls\u003C\u002Fli>\n\u003Cli>Add Videos using YouTube urls\u003C\u002Fli>\n\u003Cli>Add Videos using shortcodes\u003C\u002Fli>\n\u003Cli>Add Videos using the default WordPress player\u003C\u002Fli>\n\u003Cli>Add Videos using custom player embed HTML and JS code\u003C\u002Fli>\n\u003Cli>Video Categories \u002F Genres (customizable name, slug and icon)\u003C\u002Fli>\n\u003Cli>Video Actors (customizable name, slug and icon)\u003C\u002Fli>\n\u003Cli>Video Directors (customizable name, slug and icon)\u003C\u002Fli>\n\u003Cli>Video Tags\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cblockquote>\n\u003Ch4>WP Video Memberships\u003C\u002Fh4>\n\u003Cp>Restrict video access to members only using our \u003Ca href=\"https:\u002F\u002Fwww.wpvideosubscriptions.com\u002Fvideo-memberships\u002F\" rel=\"nofollow ugc\">WP Video Memberships\u003C\u002Fa> plugin.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cblockquote>\n\u003Ch4>VS Netflix Theme\u003C\u002Fh4>\n\u003Cp>Display your videos in a Netflix inspired style – \u003Ca href=\"https:\u002F\u002Fwww.wpvideosubscriptions.com\u002Fwordpress-netflix-theme\u002F\" rel=\"nofollow ugc\">View Theme\u003C\u002Fa>\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cp>Additional support for this plugin at https:\u002F\u002Fwpvideosubscriptions.zendesk.com\u002Fhc\u002Fen-us\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Add Videos using Vimeo urls\u003C\u002Fli>\n\u003Cli>Add Videos using YouTube urls\u003C\u002Fli>\n\u003Cli>Add Videos using shortcodes\u003C\u002Fli>\n\u003Cli>Add Videos using the default WordPress player\u003C\u002Fli>\n\u003Cli>Add Videos using custom player embed HTML and JS code\u003C\u002Fli>\n\u003Cli>Video Categories \u002F Genres (customizable name, slug and icon)\u003C\u002Fli>\n\u003Cli>Video Actors (customizable name, slug and icon)\u003C\u002Fli>\n\u003Cli>Video Directors (customizable name, slug and icon)\u003C\u002Fli>\n\u003Cli>Video Tags\u003C\u002Fli>\n\u003Cli>Restrict video access (Requires Membership Add-On)\u003C\u002Fli>\n\u003C\u002Fol>\n","WP Videos creates Video post types that you can easily add Vimeo, YouTube, WordPress, Shortcode or custom embed (third party) HTML and JS videos to.",25715,"6.6.5",[112,113,22,114,58],"video-player","video-post-type","wp-videos","https:\u002F\u002Fwww.wpvideosubscriptions.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvideo-sync-for-vimeo.zip","2026-03-15T10:48:56.248Z",{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":126,"downloaded":127,"rating":27,"num_ratings":27,"last_updated":128,"tested_up_to":129,"requires_at_least":130,"requires_php":131,"tags":132,"homepage":17,"download_link":135,"security_score":50,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"advanced-videos-feed-for-elementor","Advanced Videos Feed for Elementor","1.0.0","Md Abul Bashar","https:\u002F\u002Fprofiles.wordpress.org\u002Fhmbashar\u002F","\u003Cp>Advanced Videos Feed for Elementor allows you to showcase video content from various platforms in your Elementor-powered WordPress website. Create engaging video galleries, feeds, and displays with ease.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Flonelytime.s3-tastewp.com\u002Fadvance-video-feed-for-elementor\u002F\" rel=\"nofollow ugc\">View Demo\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Current Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Easy integration with Elementor\u003C\u002Fli>\n\u003Cli>YouTube video platform support\u003C\u002Fli>\n\u003Cli>Customizable video layouts\u003C\u002Fli>\n\u003Cli>Responsive design\u003C\u002Fli>\n\u003Cli>Video thumbnail display options\u003C\u002Fli>\n\u003Cli>Grid and list layout options\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Upcoming Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Support for multiple video platforms (Vimeo and others)\u003C\u002Fli>\n\u003Cli>Custom play button styles\u003C\u002Fli>\n\u003Cli>Lazy loading support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Video Tutorials\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=EPeDTRNKAVo\" rel=\"nofollow ugc\">How to Get YouTube API Key\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=3mrKjzrIiq4\" rel=\"nofollow ugc\">How to Find Your YouTube Channel ID\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Irz1mN_duAU\" rel=\"nofollow ugc\">How to Find YouTube Playlist ID\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How to Use\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Getting Started:\u003C\u002Fstrong>\u003Cbr \u002F>\n1. Get your YouTube API Key:\u003Cbr \u002F>\n   * Go to Google Cloud Console\u003Cbr \u002F>\n   * Create a new project or select existing\u003Cbr \u002F>\n   * Enable YouTube Data API v3\u003Cbr \u002F>\n   * Create credentials (API Key)\u003Cbr \u002F>\n   * Watch the \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=EPeDTRNKAVo\" rel=\"nofollow ugc\">tutorial video\u003C\u002Fa> for detailed steps\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>Find your Channel ID:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Go to your YouTube channel page\u003C\u002Fli>\n\u003Cli>Right-click and select “View Page Source”\u003C\u002Fli>\n\u003Cli>Search for “channelId”\u003C\u002Fli>\n\u003Cli>Or watch the \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=3mrKjzrIiq4\" rel=\"nofollow ugc\">tutorial video\u003C\u002Fa> for guidance\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>For Playlist Feed:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Go to your YouTube playlist\u003C\u002Fli>\n\u003Cli>Copy the ID from the URL (starts with “PL”)\u003C\u002Fli>\n\u003Cli>Watch the \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Irz1mN_duAU\" rel=\"nofollow ugc\">tutorial video\u003C\u002Fa> for help\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Available Fields and Settings\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>General Settings:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Layout Type – Choose between grid or list layout\u003Cbr \u002F>\n* Columns – Set number of columns for grid layout\u003Cbr \u002F>\n* Items Per Page – Control how many videos to display\u003Cbr \u002F>\n* Title – Show\u002Fhide video title\u003Cbr \u002F>\n* Description – Show\u002Fhide video description\u003Cbr \u002F>\n* Thumbnail Size – Select video thumbnail quality\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Query Settings:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Channel ID – Your YouTube channel ID\u003Cbr \u002F>\n* Playlist ID – YouTube playlist ID\u003Cbr \u002F>\n* Video Count – Number of videos to fetch\u003Cbr \u002F>\n* Cache Duration – How long to cache the feed\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Style Settings:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Title Color – Customize title text color\u003Cbr \u002F>\n* Description Color – Set description text color\u003Cbr \u002F>\n* Background Color – Change item background\u003Cbr \u002F>\n* Padding & Margin – Adjust spacing\u003Cbr \u002F>\n* Border – Customize border style\u003C\u002Fp>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin uses the YouTube Data API v3 to fetch and display videos. Here’s what you need to know:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Service Provider: Google’s YouTube Data API v3\u003C\u002Fli>\n\u003Cli>Purpose: To fetch video data from YouTube channels and playlists\u003C\u002Fli>\n\u003Cli>Data Transmission:\n\u003Cul>\n\u003Cli>The plugin sends requests to YouTube’s API with your API key\u003C\u002Fli>\n\u003Cli>For channel feeds: Requests include channel ID and maximum results count\u003C\u002Fli>\n\u003Cli>For playlist feeds: Requests include playlist ID and maximum results count\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Privacy & Terms:\n\u003Cul>\n\u003Cli>YouTube API Services Terms of Service: https:\u002F\u002Fdevelopers.google.com\u002Fyoutube\u002Fterms\u002Fapi-services-terms-of-service\u003C\u002Fli>\n\u003Cli>Google Privacy Policy: https:\u002F\u002Fpolicies.google.com\u002Fprivacy\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","Display beautiful video feeds from various sources using Elementor widgets.",10,336,"2025-05-24T13:11:00.000Z","6.8.5","5.0","8.0",[133,134,21,22,58],"elementor","feed","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-videos-feed-for-elementor.1.0.0.zip",{"attackSurface":137,"codeSignals":197,"taintFlows":432,"riskAssessment":433,"analyzedAt":446},{"hooks":138,"ajaxHandlers":189,"restRoutes":190,"shortcodes":191,"cronEvents":196,"entryPointCount":36,"unprotectedCount":27},[139,145,149,155,159,164,169,173,177,181,185],{"type":140,"name":141,"callback":142,"file":143,"line":144},"action","admin_menu","pyd_vimeo_admin_menu","includes\\pyd-admin_videos.php",13,{"type":140,"name":141,"callback":146,"file":147,"line":148},"pyd_vimeo_album_settings_menu","includes\\pyd-settings.php",174,{"type":150,"name":151,"callback":152,"file":153,"line":154},"filter","media_upload_tabs","pyd_vimeo_videos_upload_tab","includes\\pyd-shortcode.php",311,{"type":140,"name":156,"callback":157,"file":153,"line":158},"media_upload_pyd_vimeo_videos_insert_tab","pyd_vimeo_videos_media_upload_tab",320,{"type":140,"name":160,"callback":161,"file":162,"line":163},"widgets_init","pyd_vimeo_register_widgets","includes\\pyd-widgets.php",12,{"type":140,"name":165,"callback":166,"file":167,"line":168},"admin_enqueue_scripts","pyd_vimeo_albums_admin_scripts","pyd-vimeo_everywhere.php",38,{"type":140,"name":170,"callback":171,"file":167,"line":172},"wp_enqueue_scripts","pyd_vimeo_albums_register_scripts",50,{"type":140,"name":174,"callback":175,"file":167,"line":176},"wp_footer","vimeo_albums_print_scripts",58,{"type":140,"name":178,"callback":179,"file":167,"line":180},"admin_init","pyd_vimeo_videos_settings",79,{"type":140,"name":182,"callback":183,"file":167,"line":184},"admin_notices","pyd_vimeo_albums_showAdminMessages",104,{"type":140,"name":186,"callback":187,"file":167,"line":188},"save_post","pyd_vimeo_delete_trans",111,[],[],[192],{"tag":193,"callback":194,"file":153,"line":195},"pydvimeovideos","pyd_vimeo_albums_shortcode",7,[],{"dangerousFunctions":198,"sqlUsage":240,"outputEscaping":242,"fileOperations":430,"externalRequests":27,"nonceChecks":27,"capabilityChecks":27,"bundledLibraries":431},[199,203,206,209,211,214,217,220,223,226,229,232,235,237],{"fn":200,"file":143,"line":201,"context":202},"unserialize",30,"$pyd_vimeo_album_info                                         = unserialize( file_get_contents( 'htt",{"fn":200,"file":143,"line":204,"context":205},31,"$pyd_vimeo_album                                              = unserialize( file_get_contents( 'htt",{"fn":200,"file":147,"line":207,"context":208},125,"$pyd_vimeo_album_ids = unserialize( file_get_contents( 'http:\u002F\u002Fvimeo.com\u002Fapi\u002Fv2\u002F' . $pyd_vimeo_user_",{"fn":200,"file":147,"line":210,"context":208},128,{"fn":200,"file":153,"line":212,"context":213},47,"$pyd_vimeo_albums_raw     = unserialize( file_get_contents( 'http:\u002F\u002Fvimeo.com\u002Fapi\u002Fv2\u002Falbum\u002F' . $albu",{"fn":200,"file":153,"line":215,"context":216},48,"$pyd_vimeo_album_info_raw = unserialize( file_get_contents( 'http:\u002F\u002Fvimeo.com\u002Fapi\u002Fv2\u002Falbum\u002F' . $albu",{"fn":200,"file":153,"line":218,"context":219},137,"$pyd_vimeo_video_raw = unserialize( file_get_contents( 'http:\u002F\u002Fvimeo.com\u002Fapi\u002Fv2\u002Fvideo\u002F' . $videoid .",{"fn":200,"file":153,"line":221,"context":222},216,"$pyd_vimeo_channels_raw      = unserialize( file_get_contents( 'http:\u002F\u002Fvimeo.com\u002Fapi\u002Fv2\u002Fchannel\u002F' . ",{"fn":200,"file":153,"line":224,"context":225},217,"$pyd_vimeo_channels_info_raw = unserialize( file_get_contents( 'http:\u002F\u002Fvimeo.com\u002Fapi\u002Fv2\u002Fchannel\u002F' . ",{"fn":200,"file":153,"line":227,"context":228},330,"$pyd_vimeo_album_ids    = unserialize( file_get_contents( 'http:\u002F\u002Fvimeo.com\u002Fapi\u002Fv2\u002F' . $pyd_vimeo_us",{"fn":200,"file":153,"line":230,"context":231},331,"$pyd_vimeo_video_ids    = unserialize( file_get_contents( 'http:\u002F\u002Fvimeo.com\u002Fapi\u002Fv2\u002F' . $pyd_vimeo_us",{"fn":200,"file":153,"line":233,"context":234},332,"$pyd_vimeo_channels_ids = unserialize( file_get_contents( 'http:\u002F\u002Fvimeo.com\u002Fapi\u002Fv2\u002F' . $pyd_vimeo_us",{"fn":200,"file":162,"line":236,"context":208},28,{"fn":200,"file":162,"line":238,"context":239},122,"$pyd_vimeo_albums_raw = unserialize( file_get_contents( 'http:\u002F\u002Fvimeo.com\u002Fapi\u002Fv2\u002Falbum\u002F' . $album . ",{"prepared":27,"raw":27,"locations":241},[],{"escaped":243,"rawEcho":244,"locations":245},6,114,[246,249,250,251,252,253,255,256,258,259,260,261,263,265,267,269,271,273,274,275,277,279,281,283,285,287,289,291,292,293,294,296,298,299,301,303,305,306,307,308,310,311,312,313,314,316,317,319,321,322,324,326,328,329,330,332,334,336,337,338,340,342,344,346,348,349,351,353,355,357,358,359,361,363,365,366,367,369,370,372,374,376,377,379,380,382,383,385,387,389,391,392,394,396,398,399,401,402,403,404,406,408,410,412,413,415,416,417,419,421,423,425,427,428],{"file":143,"line":247,"context":248},39,"raw output",{"file":143,"line":11,"context":248},{"file":143,"line":11,"context":248},{"file":143,"line":11,"context":248},{"file":143,"line":11,"context":248},{"file":143,"line":254,"context":248},61,{"file":143,"line":254,"context":248},{"file":143,"line":257,"context":248},64,{"file":143,"line":257,"context":248},{"file":143,"line":257,"context":248},{"file":143,"line":257,"context":248},{"file":143,"line":262,"context":248},65,{"file":143,"line":264,"context":248},68,{"file":143,"line":266,"context":248},70,{"file":143,"line":268,"context":248},74,{"file":143,"line":270,"context":248},77,{"file":143,"line":272,"context":248},78,{"file":143,"line":272,"context":248},{"file":143,"line":272,"context":248},{"file":147,"line":276,"context":248},21,{"file":147,"line":278,"context":248},29,{"file":147,"line":280,"context":248},37,{"file":147,"line":282,"context":248},93,{"file":147,"line":284,"context":248},95,{"file":147,"line":286,"context":248},108,{"file":147,"line":288,"context":248},109,{"file":147,"line":290,"context":248},120,{"file":147,"line":218,"context":248},{"file":147,"line":218,"context":248},{"file":147,"line":218,"context":248},{"file":147,"line":295,"context":248},140,{"file":147,"line":297,"context":248},141,{"file":153,"line":35,"context":248},{"file":153,"line":300,"context":248},97,{"file":153,"line":302,"context":248},102,{"file":153,"line":304,"context":248},103,{"file":153,"line":304,"context":248},{"file":153,"line":304,"context":248},{"file":153,"line":184,"context":248},{"file":153,"line":309,"context":248},105,{"file":153,"line":286,"context":248},{"file":153,"line":286,"context":248},{"file":153,"line":286,"context":248},{"file":153,"line":288,"context":248},{"file":153,"line":315,"context":248},110,{"file":153,"line":244,"context":248},{"file":153,"line":318,"context":248},116,{"file":153,"line":320,"context":248},117,{"file":153,"line":320,"context":248},{"file":153,"line":323,"context":248},181,{"file":153,"line":325,"context":248},182,{"file":153,"line":327,"context":248},183,{"file":153,"line":327,"context":248},{"file":153,"line":327,"context":248},{"file":153,"line":331,"context":248},184,{"file":153,"line":333,"context":248},185,{"file":153,"line":335,"context":248},188,{"file":153,"line":335,"context":248},{"file":153,"line":335,"context":248},{"file":153,"line":339,"context":248},189,{"file":153,"line":341,"context":248},190,{"file":153,"line":343,"context":248},194,{"file":153,"line":345,"context":248},196,{"file":153,"line":347,"context":248},197,{"file":153,"line":347,"context":248},{"file":153,"line":350,"context":248},261,{"file":153,"line":352,"context":248},266,{"file":153,"line":354,"context":248},272,{"file":153,"line":356,"context":248},273,{"file":153,"line":356,"context":248},{"file":153,"line":356,"context":248},{"file":153,"line":360,"context":248},274,{"file":153,"line":362,"context":248},275,{"file":153,"line":364,"context":248},278,{"file":153,"line":364,"context":248},{"file":153,"line":364,"context":248},{"file":153,"line":368,"context":248},279,{"file":153,"line":34,"context":248},{"file":153,"line":371,"context":248},284,{"file":153,"line":373,"context":248},286,{"file":153,"line":375,"context":248},287,{"file":153,"line":375,"context":248},{"file":153,"line":378,"context":248},378,{"file":153,"line":378,"context":248},{"file":153,"line":381,"context":248},396,{"file":153,"line":381,"context":248},{"file":162,"line":384,"context":248},45,{"file":162,"line":386,"context":248},49,{"file":162,"line":388,"context":248},56,{"file":162,"line":390,"context":248},59,{"file":162,"line":264,"context":248},{"file":162,"line":393,"context":248},80,{"file":162,"line":395,"context":248},84,{"file":162,"line":397,"context":248},113,{"file":162,"line":318,"context":248},{"file":162,"line":400,"context":248},136,{"file":162,"line":400,"context":248},{"file":162,"line":400,"context":248},{"file":162,"line":218,"context":248},{"file":162,"line":405,"context":248},138,{"file":162,"line":407,"context":248},142,{"file":162,"line":409,"context":248},144,{"file":162,"line":411,"context":248},145,{"file":162,"line":411,"context":248},{"file":162,"line":414,"context":248},159,{"file":162,"line":414,"context":248},{"file":162,"line":414,"context":248},{"file":162,"line":418,"context":248},160,{"file":162,"line":420,"context":248},161,{"file":162,"line":422,"context":248},165,{"file":162,"line":424,"context":248},167,{"file":162,"line":426,"context":248},168,{"file":162,"line":426,"context":248},{"file":162,"line":429,"context":248},176,14,[],[],{"summary":434,"deductions":435},"The \"vimeo-everywhere\" plugin, version 2.1, presents a mixed security posture. On the positive side, the plugin has no known historical vulnerabilities (CVEs) and demonstrates a clean record with no unpatched issues. The static analysis reveals a limited attack surface, with only one shortcode entry point and no AJAX handlers, REST API routes, or cron events. Furthermore, all identified SQL queries utilize prepared statements, which is a strong indicator of secure database interaction. However, there are significant concerns raised by the static analysis. The presence of 14 instances of the dangerous `unserialize` function is a major red flag, as it can lead to remote code execution if used with untrusted data. The extremely low percentage of properly escaped output (5%) suggests a high risk of Cross-Site Scripting (XSS) vulnerabilities, as user-supplied data is likely being rendered directly without adequate sanitization. The absence of nonce checks and capability checks across the plugin's codebase is also concerning, as it indicates a lack of protection against common WordPress attacks like Cross-Site Request Forgery (CSRF) and privilege escalation, especially in conjunction with the `unserialize` function.",[436,439,442,444],{"reason":437,"points":438},"Use of unserialize function",18,{"reason":440,"points":441},"Low output escaping percentage",15,{"reason":443,"points":126},"Missing nonce checks",{"reason":445,"points":126},"Missing capability checks","2026-03-16T21:48:37.049Z",{"wat":448,"direct":455},{"assetPaths":449,"generatorPatterns":452,"scriptPaths":453,"versionParams":454},[450,451],"\u002Fwp-content\u002Fplugins\u002Fvimeo-everywhere\u002Fincludes\u002Fadminstyle.css","\u002Fwp-content\u002Fplugins\u002Fvimeo-everywhere\u002Fincludes\u002Fstyle.css",[],[],[],{"cssClasses":456,"htmlComments":458,"htmlAttributes":459,"restEndpoints":469,"jsGlobals":470,"shortcodeOutput":472},[457],"pyd_left",[],[460,461,462,463,464,465,466,467,468],"data-albumid","data-videoid","data-channelid","data-albumtitle","data-vidtitle","data-iconsize","data-vidheight","data-vidwidth","data-iconfloat",[],[471],"add_my_script",[473],"[pydvimeovideos]"]