[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fSRlsrZY7Rze4lVJp1D689hH1nmIpipTSItpBC1qTKuA":3,"$fJGuqWnryXxvdXXWLgENhVddFeUOybelyflNojQAwl3M":260,"$f2Vd7PvvugRaebfhtCir5W8cMZ4kmltctSAs1HCtwbLc":265},{"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":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"discovery_status":30,"vulnerabilities":31,"developer":32,"crawl_stats":28,"alternatives":38,"analysis":149,"fingerprints":235},"announcements-ticker","Announcements Ticker","0.3","fonglh","https:\u002F\u002Fprofiles.wordpress.org\u002Ffonglh\u002F","\u003Cp>Easily create an announcements news ticker on your website. Put up new announcements just like how you would put up a blog post. Use the [announcements] shortcode to display all your announcements in a page or post.\u003C\u002Fp>\n\u003Cp>Customize the look of your ticker from the WordPress administration screens. An options page allows you to change the colours and size.\u003C\u002Fp>\n","Provides a shortcode and custom post type to display announcements using a jQuery news ticker.",10,3627,20,1,"2012-12-04T10:26:00.000Z","3.4.2","3.0","",[20,21,22,23],"announcements","jquery","shortcode","ticker","http:\u002F\u002Fwpadventures.wordpress.com\u002Fplugins\u002Fannouncements-ticker\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fannouncements-ticker.0.3.zip",85,0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":34,"avg_security_score":26,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},2,40,30,84,"2026-05-20T08:24:38.589Z",[39,63,85,104,129],{"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":61,"vuln_count":14,"unpatched_count":27,"last_vuln_date":62,"fetched_at":29},"pj-news-ticker","PJ News Ticker","1.9.8","Primitiv Media","https:\u002F\u002Fprofiles.wordpress.org\u002Fnicolasmontigny\u002F","\u003Cp>\u003Cstrong>This plugin is now maintained by the developers at Primitiv Media\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>PJ News Ticker is a small plugin that shows your most recent posts in a marquee style.\u003C\u002Fp>\n\u003Cp>You can embed the news ticker anywhere you like using shortcodes.\u003C\u002Fp>\n","PJ News Ticker is a small plugin that shows your most recent posts in a marquee style.",3000,78280,90,6,"2025-04-30T02:35:00.000Z","6.8.0","4.6",[55,56,57,58],"jquery-news-ticker","marquee","news-headlines","news-ticker","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fpj-news-ticker\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpj-news-ticker.zip",92,"2024-02-12 00:00:00",{"slug":64,"name":65,"version":66,"author":67,"author_profile":68,"description":69,"short_description":70,"active_installs":71,"downloaded":72,"rating":73,"num_ratings":74,"last_updated":75,"tested_up_to":76,"requires_at_least":77,"requires_php":18,"tags":78,"homepage":82,"download_link":83,"security_score":84,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"alligator-popup","Alligator Popup","2.0.0","cubecolour","https:\u002F\u002Fprofiles.wordpress.org\u002Fnumeeja\u002F","\u003Cp>This plugin allows you to enter a shortcode to add links to pages\u002Fposts which will be opened in a popup window. The only options in Alligator popup are entered in the shortcode, so there is no admin page for this plugin.\u003C\u002Fp>\n\u003Ch4>Shortcode:\u003C\u002Fh4>\n\u003Cp>Add a popup shortcode where you would like a link to appear within your post or page text. The shortcode has parameters for url, height and width and should be in the format:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[popup url=\"https:\u002F\u002Fcubecolour.co.uk\u002Fwp\" height=\"300\" width=\"300\" scrollbars=\"yes\" alt=\"popup\"]Link Text[\u002Fpopup]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Include your own Link Text and values for the url the width & height of the popup, and the alt text fot the link.\u003C\u002Fp>\n\u003Cp>If no values are entered for the alt text and the height and width, defaults of 400px are used for the width & height of the popup window.\u003C\u002Fp>\n\u003Cp>Scrollbars are enabled by default and will show if the scrollbars parameter is not added to the shortcode. If you do not want scrollbars on your popup window, add the scrollbars parameter with the value “no” to the shortcode: \u003Ccode>scrollbars=\"no\"\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>If no value is entered for the alt text, an empty alt tag will be used in the link.\u003C\u002Fp>\n\u003Ch4>HTML Link:\u003C\u002Fh4>\n\u003Cp>Instead of using the shortcode you can include your link in the format:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Ca href=\"https:\u002F\u002Fcubecolour.co.uk\u002Fwp\" class=\"popup\" data-height=\"300\" data-width=\"300\" data-scrollbars=\"0\" alt=\"my link text\">Link Text\u003C\u002Fa>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This might be useful in a text widget, or you can build the link in a template file of your theme.\u003C\u002Fp>\n\u003Ch4>Note:\u003C\u002Fh4>\n\u003Cp>If you are using any other plugin (or a theme) that uses a shortcode with the name ‘popup’, you will not be able to use this plugin. This is not because of any shortcoming in this plugin, but because shortcodes such as those to create popup links should always be implemented in a plugin not a theme.\u003C\u002Fp>\n\u003Cp>On mobile devices such as iPads which don’t use browser windows, the link will open in a new tab.\u003C\u002Fp>\n\u003Cp>This plugin was written in response to a post by a WordPress.org forum user who promised to wrestle an alligator if his problem with creating popups was solved.\u003C\u002Fp>\n","Add popups to your site. Add links to pages\u002Fposts via a shortcode which will be opened in a popup browser window.",2000,72027,98,45,"2025-06-23T09:51:00.000Z","6.8.5","4.9",[21,79,80,81,22],"popup","popup-window","popups","http:\u002F\u002Fcubecolour.co.uk\u002Falligator-popup","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Falligator-popup.2.0.0.zip",100,{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":71,"downloaded":93,"rating":49,"num_ratings":94,"last_updated":95,"tested_up_to":96,"requires_at_least":53,"requires_php":97,"tags":98,"homepage":101,"download_link":102,"security_score":36,"vuln_count":33,"unpatched_count":27,"last_vuln_date":103,"fetched_at":29},"simple-posts-ticker","Simple Posts Ticker – Easy, Lightweight & Flexible","1.1.6","Sayan Datta","https:\u002F\u002Fprofiles.wordpress.org\u002Finfosatech\u002F","\u003Cp>The Simple Posts Ticker plugin brings a lightweight, flexible and easy way to configure news ticker plugin to WordPress website. This plugin adds scrolling horizontal posts tickers to your site. It can be use as shortcode or PHP codes. You can customize every setting of this plugin in the admin dashboard.\u003C\u002Fp>\n\u003Ch3>Advantages of this plugin\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Lightweight jQuery.\u003C\u002Fli>\n\u003Cli>CSS Ticker Animation.\u003C\u002Fli>\n\u003Cli>Easy to configuration.\u003C\u002Fli>\n\u003Cli>Multi Post Support.\u003C\u002Fli>\n\u003Cli>Full RTL Support.\u003C\u002Fli>\n\u003Cli>Custom Post Types support.\u003C\u002Fli>\n\u003Cli>Select post by date\u002Fmodified date or randomly.\u003C\u002Fli>\n\u003Cli>Select posts by their category.\u003C\u002Fli>\n\u003Cli>Option to show a label before ticker.\u003C\u002Fli>\n\u003Cli>Option to customize all and everything.\u003C\u002Fli>\n\u003Cli>Supports localization.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Like Simple Posts Ticker plugin? Consider leaving a \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fsimple-posts-ticker\u002Freviews\u002F?rate=5#new-post\" rel=\"ugc\">5 star review\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Shortcode instructions\u003C\u002Fh3>\n\u003Cp>Using default settings: \u003Cstrong>[spt-posts-ticker]\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>You can use some attributes to override the original settings. Please see plugin settings for detailed shortcode attributes.\u003C\u002Fp>\n\u003Ch4>Compatibility\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>This plugin is fully compatible with WordPress Version 4.6 and beyond and also compatible with any WordPress theme.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Community support via the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fsimple-posts-ticker\" rel=\"ugc\">support forums\u003C\u002Fa> at WordPress.org.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Contribute\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Active development of this plugin is handled \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fiamsayan\u002Fsimple-posts-ticker\u002F\" rel=\"nofollow ugc\">on GitHub\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Feel free to \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fiamsayan\u002Fsimple-posts-ticker\u002F\" rel=\"nofollow ugc\">fork the project on GitHub\u003C\u002Fa> and submit your contributions via pull request.\u003C\u002Fli>\n\u003C\u002Ful>\n","The Simple Posts Ticker plugin is a small tool that shows your most recent posts in a marquee style.",23225,22,"2023-09-02T06:45:00.000Z","6.3.8","5.6",[99,56,57,58,100],"jquery-posts-ticker","posts-ticker","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsimple-posts-ticker\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-posts-ticker.1.1.6.zip","2023-09-25 00:00:00",{"slug":105,"name":106,"version":107,"author":108,"author_profile":109,"description":110,"short_description":111,"active_installs":112,"downloaded":113,"rating":61,"num_ratings":114,"last_updated":115,"tested_up_to":116,"requires_at_least":117,"requires_php":18,"tags":118,"homepage":124,"download_link":125,"security_score":126,"vuln_count":127,"unpatched_count":27,"last_vuln_date":128,"fetched_at":29},"accordions-wp","Accordions – Responsive Accordion & FAQ Plugin for WordPress","3.0.5","Themepoints","https:\u002F\u002Fprofiles.wordpress.org\u002Fthemepoints\u002F","\u003Cp>\u003Cstrong>Accordions\u003C\u002Fstrong> is a lightweight, responsive WordPress accordion & FAQ plugin designed to help you organize content clearly and improve user experience.\u003C\u002Fp>\n\u003Cp>Create clean, modern accordion sections for FAQs, documentation, feature lists, or long-form content — without writing any code.\u003C\u002Fp>\n\u003Cp>The plugin works with all WordPress themes, supports mobile devices, and lets you control colors, fonts, spacing, and animations easily from the admin panel.\u003C\u002Fp>\n\u003Ch3>Useful Links\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fthemepoints.com\u002Fwp-accordions\u002F\" rel=\"nofollow ugc\">Live Preview\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.themepoints.com\u002Fshop\u002Fwp-accordions-pro\u002F\" rel=\"nofollow ugc\">Upgrade to Pro\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fthemepoints.com\u002Fwp-accordions\u002Ffree-version-doc\u002F\" rel=\"nofollow ugc\">Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>🔥 Why Choose Accordions?\u003C\u002Fh3>\n\u003Cp>Most accordion plugins are either too basic or overloaded with complex settings.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Accordions focuses on simplicity, performance, and flexibility.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>✔ Fully responsive on all devices\u003Cbr \u002F>\n✔ Clean UI with multiple accordion styles\u003Cbr \u002F>\n✔ Drag & drop accordion item sorting\u003Cbr \u002F>\n✔ Easy shortcode usage\u003Cbr \u002F>\n✔ Custom colors, fonts & spacing\u003Cbr \u002F>\n✔ Lightweight and fast loading\u003Cbr \u002F>\n✔ Works with any WordPress theme\u003C\u002Fp>\n\u003Cp>Perfect for FAQs, documentation pages, product details, and content-heavy websites.\u003C\u002Fp>\n\u003Ch3>Key Features – Free Version\u003C\u002Fh3>\n\u003Cp>✔ Create unlimited accordions\u003Cbr \u002F>\n✔ Responsive accordion layouts\u003Cbr \u002F>\n✔ 5 built-in accordion themes\u003Cbr \u002F>\n✔ Drag & drop accordion item sorting\u003Cbr \u002F>\n✔ WYSIWYG editor for accordion content\u003Cbr \u002F>\n✔ Custom title & content colors\u003Cbr \u002F>\n✔ Font size & padding controls\u003Cbr \u002F>\n✔ Shortcode support\u003Cbr \u002F>\n✔ Mobile & cross-browser compatible\u003C\u002Fp>\n\u003Ch3>Pro Version – Unlock Advanced Controls 🚀\u003C\u002Fh3>\n\u003Cp>Upgrade to \u003Cstrong>Accordions Pro\u003C\u002Fstrong> to build professional, feature-rich accordion sections.\u003C\u002Fp>\n\u003Cp>🔥 8+ premium accordion themes\u003Cbr \u002F>\n🔥 Grouped accordions & widget support\u003Cbr \u002F>\n🔥 Advanced animation speed controls\u003Cbr \u002F>\n🔥 Expand \u002F collapse icon controls\u003Cbr \u002F>\n🔥 Header alignment & typography options\u003Cbr \u002F>\n🔥 Background image support\u003Cbr \u002F>\n🔥 Video support (YouTube, Vimeo, etc.)\u003Cbr \u002F>\n🔥 Unlimited usage\u003Cbr \u002F>\n🔥 Lifetime updates\u003Cbr \u002F>\n🔥 Priority support\u003C\u002Fp>\n\u003Cp>👉 Ideal for agencies, businesses, and professional websites.\u003C\u002Fp>\n\u003Ch3>Who Is This Plugin For?\u003C\u002Fh3>\n\u003Cp>✔ Bloggers & content creators\u003Cbr \u002F>\n✔ Business & corporate websites\u003Cbr \u002F>\n✔ Product & service pages\u003Cbr \u002F>\n✔ Documentation & knowledge bases\u003Cbr \u002F>\n✔ FAQ & support pages\u003Cbr \u002F>\n✔ Agencies & developers\u003C\u002Fp>\n\u003Ch3>Easy to Use – No Coding Required\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Install and activate the plugin  \u003C\u002Fli>\n\u003Cli>Go to \u003Cstrong>Accordion \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Add New\u003C\u002Fstrong>  \u003C\u002Fli>\n\u003Cli>Add accordion items with title & content  \u003C\u002Fli>\n\u003Cli>Customize styles & settings  \u003C\u002Fli>\n\u003Cli>Copy the shortcode and paste it anywhere  \u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Done 🎉\u003C\u002Fp>\n","Responsive, lightweight, and fully customizable accordion plugin for WordPress. Perfect for FAQs, content organization, and improving user experience.",1000,58177,9,"2026-02-09T11:38:00.000Z","6.9.4","4.0",[119,120,121,122,123],"accordion","accordions","accordions-shortcode","jquery-accordions","responsive-accordions","https:\u002F\u002Fthemepoints.com\u002Fwp-accordions\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Faccordions-wp.zip",96,3,"2026-01-07 00:00:00",{"slug":130,"name":131,"version":132,"author":133,"author_profile":134,"description":135,"short_description":136,"active_installs":112,"downloaded":137,"rating":138,"num_ratings":50,"last_updated":139,"tested_up_to":140,"requires_at_least":117,"requires_php":141,"tags":142,"homepage":145,"download_link":146,"security_score":147,"vuln_count":14,"unpatched_count":27,"last_vuln_date":148,"fetched_at":29},"animated-typed-js-shortcode","Animated Typed JS Shortcode","2.1.2","Yong","https:\u002F\u002Fprofiles.wordpress.org\u002Fyongkiagustinus\u002F","\u003Cp>Create an animated typing effect with \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmattboldt\u002Ftyped.js\" rel=\"nofollow ugc\">Typed.js\u003C\u002Fa> easily.\u003C\u002Fp>\n\u003Cp>Just install and activate, \u003Cstrong>Animated Typed JS Shortcode\u003C\u002Fstrong> plugin and you can start using \u003Ccode>[typedjs][\u002Ftypedjs]\u003C\u002Fcode> shortcode to create your animated typing text.\u003C\u002Fp>\n\u003Cp>No settings needed just plug and play.\u003C\u002Fp>\n\u003Ch4>How to use the shortcode?\u003C\u002Fh4>\n\u003Cp>You can use the shortcode just like this:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>[typedjs]My animated typing text[\u002Ftypedjs]\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>To show more than 1 string\u002Ftext, separate the strings with a \u003Ccode>double colons (::)\u003C\u002Fcode> like this:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>[typedjs]My animated typing text::It's freaking awesome![\u002Ftypedjs]\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>If you want to customize your animated text behaviour, you can use shortcode attributes to do that like this:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>\u003Ccode>[typedjs loop=true]My animated typing text::It's freaking awesome!::It's now looping, OMG![\u002Ftypedjs]\u003C\u002Fcode>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Here are the list of all available attributes that you can use:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>typespeed\u003C\u002Fcode> : The text typing speed in milliseconds (default: 50)\u003C\u002Fli>\n\u003Cli>\u003Ccode>startdelay\u003C\u002Fcode> : Delay time before typing start in milliseconds (default: 500)\u003C\u002Fli>\n\u003Cli>\u003Ccode>backspeed\u003C\u002Fcode> : Backspacing speed in milliseconds (default: 50)\u003C\u002Fli>\n\u003Cli>\u003Ccode>backdelay\u003C\u002Fcode> : Time before backspacing in milliseconds (default: 500)\u003C\u002Fli>\n\u003Cli>\u003Ccode>smartbackspace\u003C\u002Fcode> : Only backspace what doesn’t match the previous string (default: true)\u003C\u002Fli>\n\u003Cli>\u003Ccode>shuffle\u003C\u002Fcode> : Shuffle the strings (default: false)\u003C\u002Fli>\n\u003Cli>\u003Ccode>fadeout\u003C\u002Fcode> : Fade out instead of backspace (default: false)\u003C\u002Fli>\n\u003Cli>\u003Ccode>fadeoutdelay\u003C\u002Fcode> : Time before fade out in milliseconds (default: 500)\u003C\u002Fli>\n\u003Cli>\u003Ccode>loop\u003C\u002Fcode> : Loop strings animation (default: false)\u003C\u002Fli>\n\u003Cli>\u003Ccode>loopcount\u003C\u002Fcode> : Amount of loops if enabled (default: Infinity)\u003C\u002Fli>\n\u003Cli>\u003Ccode>showcursor\u003C\u002Fcode> : Show\u002Fhide cursor (default: true)\u003C\u002Fli>\n\u003Cli>\u003Ccode>cursorchar\u003C\u002Fcode> : Character to be used as cursor (default: |)\u003C\u002Fli>\n\u003Cli>\u003Ccode>class\u003C\u002Fcode>: Custom class for the shortcode element (default: ”)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Optimize Javascript loading\u003C\u002Fh4>\n\u003Cp>The \u003Ccode>typed.min.js\u003C\u002Fcode> is only 12KB, in the previous version I tried to load the script only when the shortcode is used, but it’s not working properly because the script is loaded asynchronously. So, I decided to load the script in the footer of the page to make sure it’s loaded properly.\u003C\u002Fp>\n\u003Cp>However, if you want to load the script only on specific pages, you can use this hook to enqueue the script only on specific pages:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>`php\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>add_action(‘wp_enqueue_scripts’, ‘my_custom_typedjs_script’);\u003Cbr \u002F>\nfunction my_custom_typedjs_script() {\u003Cbr \u002F>\n    if ( ! is_page( ‘my-page-slug’ ) ) {\u003Cbr \u002F>\n        wp_dequeue_script( ‘typedjsshortcode’ );\u003Cbr \u002F>\n    }\u003Cbr \u002F>\n}\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Cp>This will dequeue the script on all pages except the page with the slug \u003Ccode>my-page-slug\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch4>CREDITS\u003C\u002Fh4>\n\u003Cp>Thanks to \u003Ca href=\"https:\u002F\u002Fmattboldt.com\u002F\" rel=\"nofollow ugc\">Matt Boldt\u003C\u002Fa> for creating this cool library \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmattboldt\u002Ftyped.js\" rel=\"nofollow ugc\">Typed.js\u003C\u002Fa>!\u003C\u002Fp>\n","This plugin add shortcode to create an animated typing effect with Typed JS. No settings needed, just plug and play.",14987,86,"2024-08-22T00:21:00.000Z","6.6.5","7.4",[143,21,22,144],"animation","typography","https:\u002F\u002Fwpvalet.co","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fanimated-typed-js-shortcode.2.1.2.zip",91,"2024-07-10 00:00:00",{"attackSurface":150,"codeSignals":194,"taintFlows":220,"riskAssessment":221,"analyzedAt":234},{"hooks":151,"ajaxHandlers":187,"restRoutes":188,"shortcodes":189,"cronEvents":193,"entryPointCount":14,"unprotectedCount":27},[152,158,163,167,171,175,179,183],{"type":153,"name":154,"callback":155,"file":156,"line":157},"action","init","flh_add_announcement_cpt","announcements-ticker.php",60,{"type":159,"name":160,"callback":161,"file":156,"line":162},"filter","posts_where","flh_announcements_filter_where",102,{"type":159,"name":164,"callback":165,"priority":11,"file":156,"line":166},"wp_insert_post_data","flh_announcements_insert_post_data",184,{"type":153,"name":168,"callback":169,"file":156,"line":170},"wp_enqueue_scripts","flh_announcements_ticker_enqueue",197,{"type":153,"name":172,"callback":173,"file":156,"line":174},"admin_print_styles-settings_page_announcements_options","flh_announcements_admin_enqueue",217,{"type":153,"name":176,"callback":177,"file":156,"line":178},"admin_menu","flh_announcements_create_menu",247,{"type":153,"name":180,"callback":181,"file":156,"line":182},"admin_init","flh_announcements_options_init",346,{"type":153,"name":184,"callback":185,"file":156,"line":186},"wp_head","flh_announcements_print_ticker_color_style",529,[],[],[190],{"tag":20,"callback":191,"file":156,"line":192},"flh_announcements_handler",94,[],{"dangerousFunctions":195,"sqlUsage":196,"outputEscaping":198,"fileOperations":27,"externalRequests":27,"nonceChecks":27,"capabilityChecks":27,"bundledLibraries":219},[],{"prepared":27,"raw":27,"locations":197},[],{"escaped":11,"rawEcho":11,"locations":199},[200,203,205,207,208,210,211,213,215,217],{"file":156,"line":201,"context":202},269,"raw output",{"file":156,"line":204,"context":202},270,{"file":156,"line":206,"context":202},496,{"file":156,"line":206,"context":202},{"file":156,"line":209,"context":202},522,{"file":156,"line":209,"context":202},{"file":156,"line":212,"context":202},550,{"file":156,"line":214,"context":202},551,{"file":156,"line":216,"context":202},552,{"file":156,"line":218,"context":202},561,[],[],{"summary":222,"deductions":223},"The \"announcements-ticker\" plugin v0.3 exhibits a generally good security posture based on the static analysis. The absence of AJAX handlers, REST API routes, cron events, and dangerous functions is commendable. The use of prepared statements for SQL queries is a strong indicator of secure database interaction. However, the presence of a shortcode without any apparent authentication or capability checks presents a potential entry point, albeit a singular one.\n\nThe static analysis reveals a concerning 50% of output is not properly escaped. This could lead to cross-site scripting (XSS) vulnerabilities if user-supplied data is displayed without adequate sanitization. The lack of any recorded vulnerability history suggests a low likelihood of known exploits, but this can also be due to limited public exposure or a lack of rigorous historical auditing.\n\nIn conclusion, while the plugin avoids many common pitfalls like raw SQL queries and dangerous functions, the unescaped output and the unprotected shortcode are significant weaknesses. The complete absence of nonce and capability checks across the analyzed entry points is a considerable concern for a plugin that likely interacts with user-generated content. The plugin's strengths lie in its avoidance of critical vulnerabilities in SQL and dangerous functions, but its weaknesses in output escaping and input validation on its shortcode warrant attention.",[224,226,229,232],{"reason":225,"points":11},"Unescaped output found",{"reason":227,"points":228},"Shortcode without auth checks",8,{"reason":230,"points":231},"No nonce checks",5,{"reason":233,"points":231},"No capability checks","2026-04-16T12:39:23.164Z",{"wat":236,"direct":247},{"assetPaths":237,"generatorPatterns":241,"scriptPaths":242,"versionParams":243},[238,239,240],"\u002Fwp-content\u002Fplugins\u002Fannouncements-ticker\u002Fjs\u002Fjquery.ticker.js","\u002Fwp-content\u002Fplugins\u002Fannouncements-ticker\u002Fjs\u002Fticker-init.js","\u002Fwp-content\u002Fplugins\u002Fannouncements-ticker\u002Fcss\u002Fticker-style.css",[],[],[244,245,246],"announcements-ticker\u002Fjs\u002Fjquery.ticker.js?ver=","announcements-ticker\u002Fjs\u002Fticker-init.js?ver=","announcements-ticker\u002Fcss\u002Fticker-style.css?ver=",{"cssClasses":248,"htmlComments":251,"htmlAttributes":252,"restEndpoints":254,"jsGlobals":255,"shortcodeOutput":257},[249,250],"js-hidden","news-item",[],[253],"data-max-chars",[],[256],"jQuery",[258,259],"\u003Cul id=\"js-news\" class=\"js-hidden\">","\u003Cli class=\"news-item\">",{"error":261,"url":262,"statusCode":263,"statusMessage":264,"message":264},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fannouncements-ticker\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":127,"versions":266},[267,273,280],{"version":6,"download_url":25,"svn_tag_url":268,"released_at":28,"has_diff":269,"diff_files_changed":270,"diff_lines":28,"trac_diff_url":271,"vulnerabilities":272,"is_current":261},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fannouncements-ticker\u002Ftags\u002F0.3\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fannouncements-ticker%2Ftags%2F0.2&new_path=%2Fannouncements-ticker%2Ftags%2F0.3",[],{"version":274,"download_url":275,"svn_tag_url":276,"released_at":28,"has_diff":269,"diff_files_changed":277,"diff_lines":28,"trac_diff_url":278,"vulnerabilities":279,"is_current":269},"0.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fannouncements-ticker.0.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fannouncements-ticker\u002Ftags\u002F0.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fannouncements-ticker%2Ftags%2F0.1&new_path=%2Fannouncements-ticker%2Ftags%2F0.2",[],{"version":281,"download_url":282,"svn_tag_url":283,"released_at":28,"has_diff":269,"diff_files_changed":284,"diff_lines":28,"trac_diff_url":28,"vulnerabilities":285,"is_current":269},"0.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fannouncements-ticker.0.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fannouncements-ticker\u002Ftags\u002F0.1\u002F",[],[]]