[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fy6VsR_sxpiQsVCG_Xs8QWpT1LKTQC99jlVSqTRmOv2o":3,"$fYQxpMcOPOiE3LbLtC5cQ8DlCALKf4euxaiYrb8bhhv8":197,"$f56XSSaumAJEnjzPnRlU3CrHpJ4BvtYWzekgc4MQ-W_Y":202},{"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":136,"fingerprints":183},"random-happiness","Random Happiness","1.0.3.2","greghl","https:\u002F\u002Fprofiles.wordpress.org\u002Fgreghl\u002F","\u003Cp>This is just a plugin, it provides random happy thoughts in the upper right of your admin screen on every page.\u003C\u002Fp>\n","This is just a plugin, it provides random happy thoughts in the upper right of your admin screen on every page.",10,1490,100,1,"2015-08-08T13:53:00.000Z","4.3.34","3.0","",[20,21,22,23],"admin","happing","quotes","random","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Frandom-happiness\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frandom-happiness.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,90,30,84,"2026-05-20T00:59:58.101Z",[39,62,82,102,118],{"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":54,"tags":55,"homepage":18,"download_link":59,"security_score":60,"vuln_count":33,"unpatched_count":27,"last_vuln_date":61,"fetched_at":29},"easy-quotes","Easy Quotes","1.3.7","Jürgen Müller","https:\u002F\u002Fprofiles.wordpress.org\u002Fjuergen74\u002F","\u003Cp>Easy Quotes let you collect and display your favorite Quotes \u002F Reviews \u002F Testimonials or any other short snippet of Text you want to present on your site.\u003C\u002Fp>\n\u003Cp>Main Features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Custom Post Type “Quotes” with Quick Edit and Bulk Actions\u003C\u002Fli>\n\u003Cli>Add Custom Meta: Author, Date and Rating with Stars\u003C\u002Fli>\n\u003Cli>Gutenberg Block “Easy Quotes” to present your Collection all over your Site. (Block-Widget\u002FPages\u002FPosts etc.)\u003C\u002Fli>\n\u003Cli>Show Random or Daily “Quotes” by Category or choose a Specific Quote.\u003C\u002Fli>\n\u003Cli>Option to rotate Quotes by Category\u003C\u002Fli>\n\u003Cli>Option to show Quotes as a List by Category\u003C\u002Fli>\n\u003Cli>Use Google Fonts and other typographic features to style your Quote.\u003C\u002Fli>\n\u003Cli>Built to blend into any style, but customizable with CSS to fit your needs.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Try my new Plugin\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Feasy-architect\u002F\" rel=\"ugc\">Easy Architect\u003C\u002Fa>\u003C\u002Fp>\n","Collect and show your favorite Quotes \u002F Reviews \u002F Testimonials or any other short snippet of Text.",700,14587,94,6,"2026-01-07T13:03:00.000Z","6.9.4","6.7","7.4",[56,57,22,23,58],"daily","lyrics","testimonials","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-quotes.1.3.7.zip",97,"2025-09-22 00:00:00",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":72,"num_ratings":50,"last_updated":73,"tested_up_to":74,"requires_at_least":75,"requires_php":18,"tags":76,"homepage":80,"download_link":81,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"easy-random-quotes","Easy Random Quotes","1.8","Kailey (trepmal)","https:\u002F\u002Fprofiles.wordpress.org\u002Ftrepmal\u002F","\u003Cp>Insert quotes and pull them randomly into your pages and posts (via shortcodes) or your template (via template tags).\u003Cbr \u002F>\nCan refer to quote IDs to use specific quotes. Also widget-enabled\u003C\u002Fp>\n","Insert quotes and pull them randomly into your pages and posts (via shortcodes) or your template (via template tags).",500,21316,86,"2016-09-29T02:57:00.000Z","4.6.30","2.8",[77,78,79],"random-quotes","shortcodes","widget","http:\u002F\u002Ftrepmal.com\u002Fplugins\u002Feasy-random-quotes\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-random-quotes.1.8.zip",{"slug":83,"name":84,"version":85,"author":86,"author_profile":87,"description":88,"short_description":89,"active_installs":90,"downloaded":91,"rating":92,"num_ratings":50,"last_updated":93,"tested_up_to":52,"requires_at_least":94,"requires_php":54,"tags":95,"homepage":18,"download_link":98,"security_score":99,"vuln_count":100,"unpatched_count":33,"last_vuln_date":101,"fetched_at":29},"xv-random-quotes","XV Random Quotes","2.9.0","Xavi Ivars","https:\u002F\u002Fprofiles.wordpress.org\u002Fxavivars\u002F","\u003Cp>XV Random Quotes helps you collect and display random quotes everywhere on your WordPress site. Built with modern WordPress standards using Custom Post Types, Gutenberg blocks, and the REST API.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎯 Modern WordPress Integration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Custom Post Type\u003C\u002Fstrong> – Quotes are managed as native WordPress posts with full revision history\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gutenberg Blocks\u003C\u002Fstrong> – Three dedicated blocks: Random Quote, Specific Quote, and List Quotes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API\u003C\u002Fstrong> – Access quotes programmatically for headless WordPress and custom integrations\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Taxonomy Support\u003C\u002Fstrong> – Organize quotes with categories and authors (with URL support)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Block Editor\u003C\u002Fstrong> – Full support with dedicated meta boxes for quote content and source\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>✨ Key Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Multiple Display Methods\u003C\u002Fstrong> – Widgets, shortcodes, template tags, and Gutenberg blocks\u003C\u002Fli>\n\u003Cli>\u003Cstrong>AJAX-Powered Widgets\u003C\u002Fstrong> – Automatic quote rotation without page reload (configurable timer)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Category Filtering\u003C\u002Fstrong> – Display quotes from specific categories or all quotes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Author Management\u003C\u002Fstrong> – Track quote authors with optional URL links\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Flexible Ordering\u003C\u002Fstrong> – Random or sequential quote display\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Native Styling Toggle\u003C\u002Fstrong> – Use plugin’s default styling or your theme’s styles\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Complete Backward Compatibility\u003C\u002Fstrong> – All legacy shortcodes and template tags still work\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>📦 Display Options\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Gutenberg Blocks\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>Random Quote Block – Display one or more random quotes\u003C\u002Fli>\n\u003Cli>Specific Quote Block – Show a particular quote by ID\u003C\u002Fli>\n\u003Cli>List Quotes Block – Paginated list of quotes with filtering\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Widgets\u003C\u002Fstrong>: Sidebar widget with AJAX refresh and category filtering\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shortcodes\u003C\u002Fstrong>: \u003Ccode>[stray-random]\u003C\u002Fcode>, \u003Ccode>[stray-id]\u003C\u002Fcode>, \u003Ccode>[stray-all]\u003C\u002Fcode> for posts and pages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Template Tags\u003C\u002Fstrong>: \u003Ccode>stray_random_quote()\u003C\u002Fcode>, \u003Ccode>stray_a_quote()\u003C\u002Fcode> for theme integration\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API\u003C\u002Fstrong>: \u003Ccode>\u002Fwp-json\u002Fxv-random-quotes\u002Fv1\u002Fquote\u002Frandom\u003C\u002Fcode> for custom integrations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>🔄 Automatic Migration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Upgrading from v1.x? The plugin automatically detects the need of migrating your existing quotes to the new Custom Post Type system. The migration is always manual to prevent race conditions and duplicate imports. When the plugin is activated or updated, an admin notice prompts the user to start the migration via a button. The migration then processes quotes in batches via AJAX.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>🎨 Customization\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Customize HTML wrappers (before\u002Fafter quote, author, source)\u003C\u002Fli>\n\u003Cli>Control author and source link formatting\u003C\u002Fli>\n\u003Cli>AJAX loading messages and animations\u003C\u002Fli>\n\u003Cli>Native WordPress styling or custom CSS\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>See \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxavivars\u002Fxv-random-quotes\u002Fblob\u002Fmain\u002FRELEASE_NOTES.md\" rel=\"nofollow ugc\">RELEASE_NOTES.md\u003C\u002Fa> for complete v2.0 features and migration guide.\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>For main development of Stray Quotes, \u003Ca href=\"http:\u002F\u002Funalignedcode.wordpress.com\u002Fmy-wordpress-plugins\u002Fstray-random-quotes\u002F\" rel=\"nofollow ugc\">Ico\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>For Multi-widget functionality, \u003Ca href=\"http:\u002F\u002Fwp.gdragon.info\u002F2008\u002F07\u002F06\u002Fcreate-multi-instances-widget\u002F\" rel=\"nofollow ugc\">Millian’s tutorial\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>For help in developing user-end AJAX functionality, \u003Ca href=\"http:\u002F\u002Fwww.matrixagents.org\" rel=\"nofollow ugc\">AgentSmith\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>For search functionality and bugfixing, \u003Ca href=\"http:\u002F\u002Fwww.zeyalabs.ch\u002Fposts\u002F2010\u002Fstray-quotes-z\u002F\" rel=\"nofollow ugc\">Sergey Sirotkin\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Localization\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>German, thanks to Markus Griesbach\u003C\u002Fli>\n\u003Cli>Chinese, thanks to WGMking\u003C\u002Fli>\n\u003Cli>Croatian, thanks to \u003Ca href=\"http:\u002F\u002Fwww.atrium.hr\u002F\" rel=\"nofollow ugc\">Rajic\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Danish, thanks to \u003Ca href=\"http:\u002F\u002Fwordpress.blogos.dk\u002F\" rel=\"nofollow ugc\">Georg\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Actually, these translations are not updated to the latest version.\u003Cbr \u002F>\nI am looking for new localizers, all languages welcome!\u003C\u002Fp>\n\u003Cp>\u003Cem>Please note:\u003C\u002Fem> the best way to \u003Cstrong>submit new or updated translations\u003C\u002Fstrong> is to send me a direct link to the localization files in \u003Ca href=\"http:\u002F\u002Fxavi.ivars.me\u002Fcontacta\u002F\" rel=\"nofollow ugc\">the contact page\u003C\u002Fa> of my website. This way the files are made available to the users sooner, and without waiting for a new release.\u003C\u002Fp>\n\u003Cp>\u003Cem>Please note:\u003C\u002Fem> If you want to create a localized copy of XV Random Quotes, consider skipping the help page and translate the rest. This will save you quite some time. The help page has a lot of text.\u003C\u002Fp>\n\u003Ch3>Known Issues\u003C\u002Fh3>\n\u003Cp>None currently reported for v2.0. If you find an issue, please report it on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fxavivars\u002Fxv-random-quotes\u002Fissues\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>.\u003C\u002Fp>\n","Display and rotate quotes anywhere on your WordPress site. Fully integrated with WordPress Custom Post Types, Gutenberg blocks, and REST API.",300,9433,74,"2026-03-29T21:03:00.000Z","6.0",[96,97,22,23,79],"blocks","gutenberg","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fxv-random-quotes.2.9.0.zip",54,4,"2025-04-03 00:00:00",{"slug":103,"name":104,"version":105,"author":106,"author_profile":107,"description":108,"short_description":109,"active_installs":13,"downloaded":110,"rating":111,"num_ratings":100,"last_updated":112,"tested_up_to":113,"requires_at_least":114,"requires_php":18,"tags":115,"homepage":116,"download_link":117,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"mg-quotes","mg Quotes","1.1.5","mgiulio","https:\u002F\u002Fprofiles.wordpress.org\u002Fgiuliom\u002F","\u003Cp>This plugin adds a new custom post type to manage and publish your favorite quotes with WordPress.\u003C\u002Fp>\n\u003Cp>Quick features summary:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Enter the quote content in a multiline editor\u003C\u002Fli>\n\u003Cli>Optionally assign an author to a quote, with autocompletion for already existent authors\u003C\u002Fli>\n\u003Cli>Optionally assign multiple hierarchical categories to the quote\u003C\u002Fli>\n\u003Cli>Optionally assign one or more custom fields: date, where, link, …\u003C\u002Fli>\n\u003Cli>Autogeneration of quote titles\u003C\u002Fli>\n\u003Cli>Quickly browse through your quotes with author and\u002For category filters and full text search\u003C\u002Fli>\n\u003Cli>Import\u002FExport of quotes between WordPress installations\u003C\u002Fli>\n\u003Cli>Publish quotes on the front end with widgets, shortcodes and template tags\u003C\u002Fli>\n\u003Cli>Restrict or allow access to the quotes and the relative operations in admin with fine grained access control \u003C\u002Fli>\n\u003Cli>Cleanup on uninstall\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Manage the quotes\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Start managing your quotes accessing the new top menu ‘Quotes’:\u003C\u002Fp>\n\u003Cp>In the quote editor enter the quote content and optionally, its author(if you have already added it before just type a part of its name to get an autocompletion) and\u003Cbr \u002F>\none or more (hierarchical) categories.\u003Cbr \u002F>\nIt is possible to define a title for the quotes, mainly used in the quote listing; if it is not provided it will be autogenerated.\u003Cbr \u002F>\nIt is also possible to define some custom fields, for example to assign further informations about the quote, such as a date, a link, a place, …\u003C\u002Fp>\n\u003Cp>The authors are implemented with a custom taxonomy, so from the Quotes\u002FAuthors page it is possible to manage them with the standard WP interface.\u003C\u002Fp>\n\u003Cp>From the Quotes\u002FAll quotes page there is the standard post list table WP user interface to browse through the quotes.\u003Cbr \u002F>\nThere is the full text search and two filters for the author and\u002For the category.\u003C\u002Fp>\n\u003Cp>\u003Cem>Restrict or allow access to the quotes and the relative operations in admin with fine grained access control\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>The plugin defines and assigns at installation time the following primitive capabilities to the ‘administrator’ role:\u003C\u002Fp>\n\u003Cp>Category custom taxonomy:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>‘manage_quote_categories’\u003C\u002Fli>\n\u003Cli>‘edit_quote_categories’\u003C\u002Fli>\n\u003Cli>‘delete_quote_categories’\u003C\u002Fli>\n\u003Cli>‘assign_quote_categories’\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Author custom taxonomy:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>‘manage_quote_authors’\u003C\u002Fli>\n\u003Cli>‘edit_quote_authors’\u003C\u002Fli>\n\u003Cli>‘delete_quote_authors’\u003C\u002Fli>\n\u003Cli>‘assign_quote_authors’\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Quote custom post type:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>‘edit_quotes’\u003C\u002Fli>\n\u003Cli>‘edit_others_quotes’\u003C\u002Fli>\n\u003Cli>‘publish_quotes’\u003C\u002Fli>\n\u003Cli>‘read_private_quotes’\u003C\u002Fli>\n\u003Cli>‘read’\u003C\u002Fli>\n\u003Cli>‘delete_quotes’\u003C\u002Fli>\n\u003Cli>‘delete_private_quotes’\u003C\u002Fli>\n\u003Cli>‘delete_published_quotes’\u003C\u002Fli>\n\u003Cli>‘delete_others_quotes’\u003C\u002Fli>\n\u003Cli>‘edit_private_quotes’\u003C\u002Fli>\n\u003Cli>‘edit_published_quotes’\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Their names should be self-explanatory.\u003C\u002Fp>\n\u003Cp>To customize the access control it is sufficient to grant\u002Frevoke such caps with a role editing plugin, for example \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fuser-role-editor\u002F\" rel=\"ugc\">User Role Editor\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cem>Import\u002FExport\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>To copy all the quotes from a WordPress instance to another just use the related tools provided by WordPress, accessible from the Tools menu.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Publish the quotes\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Quotes can be published on the front end with three methods: widgets, shortcodes and template tags.\u003C\u002Fp>\n\u003Cp>\u003Cem>Widgets\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>The Selected Quote and the Random Quote widgets can be used to to display one single quote in the widget areas provided by the used theme.\u003C\u002Fp>\n\u003Cp>The Selected Quote widget allows to display a specific quote. Just select it with the control that lists all quotes by their titles.\u003C\u002Fp>\n\u003Cp>The random quote displayed by the homonymous widget can be optionally limited to the quotes by an author and\u002For a category using the provided controls.\u003C\u002Fp>\n\u003Cp>\u003Cem>Shortcodes\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Shortcodes can be used to display quotes in posts and pages.\u003C\u002Fp>\n\u003Cp>To display a quote in a post or page use the [quote] shortcode passing it the ID of the quote.\u003Cbr \u002F>\nQuote IDs can be easily read from the Quotes\u002FAll Quotes page, hovering with the mouse on the relevant row of the quotes list table.\u003Cbr \u002F>\nSo, to display in a post a quote whose ID is 181 just enter [quote id=”181] in the post content editor.\u003C\u002Fp>\n\u003Cp>To display a random quote from all the quotes or only from a category and\u002For author there is the [rnd_quote] shortcode.\u003Cbr \u002F>\nCategory and author, when provided, must be identified by their name.\u003Cbr \u002F>\nExample:\u003C\u002Fp>\n\u003Cp>[rnd_quote] -> random quote\u003Cbr \u002F>\n[rnd_quote author=”Oscar Wilde”] -> a random quote from the author ‘Oscar Wilde’\u003Cbr \u002F>\n[rnd_quote category=”Art”] -> a random quote from the ‘Art’ category\u003Cbr \u002F>\n[rnd_quote category=”Art” author=”Pablo Picasso”] -> a random quote in the ‘Art’ category and by the ‘Pablo Picasso’ author\u003C\u002Fp>\n\u003Cp>\u003Cem>Template tags\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>If you prefer to modify the theme templates, two template tags are available that mimic the behaviour of the widgets and shortcodes.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>mg_qt_get_quote($id) gets a single quote, specified by its ID\u003C\u002Fli>\n\u003Cli>mg_qt_get_rnd_quote($category = null, $author = null) Pick one random quote, optionally from the category and\u002For the author specified(by they names)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>These two functions return a string with the HTML markup for the picked quote; mg_qt_quote($id) and mg_qt_rnd_quote($category = null, $author = null)\u003Cbr \u002F>\ninstead directly output the markup.\u003C\u002Fp>\n\u003Cp>\u003Cem>Quote markup customization\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>By default the markup generated for a quote is something like this:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003Cblockquote class=\"mg_qt_quote\">\n    \u003Cp>WordPress puts food on my table\u003C\u002Fp>\n    \u003Cfooter class=\"meta\">\n        \u003Ccite class=\"author\">Mark Jaquith\u003C\u002Fcite>\n    \u003C\u002Ffooter>\n\u003C\u002Fblockquote>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To modify this template the ‘mg_qt_quote_markup’ filter is available. It it invoked with two parameters:\u003C\u002Fp>\n\u003Col>\n\u003Cli>The generated html\u003C\u002Fli>\n\u003Cli>An associative array with the quote data. The available keys are: ‘content’, ‘author’, ‘title’, ‘id’.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwww.pinterest.com\u002Fpin\u002F119415827596386237\u002F\" rel=\"nofollow ugc\">Some additional info\u003C\u002Fa>.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Source Code\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The plugin source code is also availabe on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmgiulio\u002Fmg-quotes\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>.\u003C\u002Fp>\n","Manage and publish your favorite quotes with WordPress",4857,80,"2015-03-21T15:41:00.000Z","4.0.38","3.1",[22,77],"http:\u002F\u002Fmgiulio.info\u002Fprojects\u002Fmg-quotes\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmg-quotes.zip",{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":34,"downloaded":126,"rating":13,"num_ratings":14,"last_updated":127,"tested_up_to":128,"requires_at_least":129,"requires_php":18,"tags":130,"homepage":134,"download_link":135,"security_score":26,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"nice-quotes-rotator","Nice Quotes Rotator","1.0","CodeAndReload","https:\u002F\u002Fprofiles.wordpress.org\u002Fcodeandreload\u002F","\u003Cp>This plugin provides the ability to have randomly selected quotes displayed on the admin page, by using a\u003Cbr \u002F>\nshortcode or by using a sidebar widget. The quotes include user-entered quotes, and can optionally include\u003Cbr \u002F>\nexcerpts from a user-chosen category and can also optionally include links from a user-chosen links category\u003Cbr \u002F>\nThere also is an option for including the lyrics from “Hello Dolly”. The plugin can be used for random\u003Cbr \u002F>\nquotes, rotating testimonials, rotating random affiliate links, or random featured posts. It was inspired by\u003Cbr \u002F>\nthe Hello Dolly plugin (hello.php) that comes bundled with WordPress.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Technical support for this plugin will be provided via the WordPress plugin forum.  Additional support may be\u003Cbr \u002F>\navailable at \u003Ca href=\"http:\u002F\u002Fwww.codeandreload.com\u002Fwp-plugins\u002Fnicequotes\u002F\" title=\"Nice Quotes at Code\nand Reload\">plugin’s homepage\u003C\u002Fa>.\u003C\u002Fp>\n","Allows display of random quotes via shortcode, a sidebar widget, and\u002For on the admin page. Quotes can be user-entered, post excerpts or links.",13480,"2012-10-12T00:48:00.000Z","3.4.2","2.9",[131,132,133,22,23],"quotation","quotations","quote","http:\u002F\u002FCodeAndReload.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnice-quotes-rotator.1.0.zip",{"attackSurface":137,"codeSignals":158,"taintFlows":170,"riskAssessment":171,"analyzedAt":182},{"hooks":138,"ajaxHandlers":154,"restRoutes":155,"shortcodes":156,"cronEvents":157,"entryPointCount":27,"unprotectedCount":27},[139,145,149],{"type":140,"name":141,"callback":142,"file":143,"line":144},"action","admin_notices","happy_thoughts","random_happiness.php",53,{"type":140,"name":146,"callback":147,"file":143,"line":148},"admin_head","happines_css",73,{"type":150,"name":151,"callback":152,"priority":153,"file":143,"line":36},"filter","plugin_row_meta","random_happiness_plugin_meta",12,[],[],[],[],{"dangerousFunctions":159,"sqlUsage":160,"outputEscaping":162,"fileOperations":27,"externalRequests":27,"nonceChecks":27,"capabilityChecks":27,"bundledLibraries":169},[],{"prepared":27,"raw":27,"locations":161},[],{"escaped":27,"rawEcho":33,"locations":163},[164,167],{"file":143,"line":165,"context":166},49,"raw output",{"file":143,"line":168,"context":166},60,[],[],{"summary":172,"deductions":173},"The \"random-happiness\" plugin v1.0.3.2 exhibits a very small attack surface based on the static analysis, with no identified AJAX handlers, REST API routes, shortcodes, or cron events.  Furthermore, no dangerous functions, file operations, external HTTP requests, or bundled libraries were detected, which are generally positive security indicators. All SQL queries observed use prepared statements, which is a strong practice against SQL injection. However, a significant concern arises from the complete lack of output escaping. With 100% of observed outputs unescaped, this presents a high risk of Cross-Site Scripting (XSS) vulnerabilities, allowing attackers to inject malicious scripts into the site that could be executed by users.  The absence of nonces and capability checks on any entry points (though none were found) also indicates a potential for insecure design if new entry points were to be added without proper security considerations. The plugin has no recorded vulnerability history, which is positive, but this could also mean it hasn't been extensively tested or analyzed in the past. The lack of taint analysis findings is also good, but given the unescaped output, this is likely an incomplete picture.\n\nIn conclusion, while the \"random-happiness\" plugin has a minimal attack surface and utilizes prepared statements for SQL, the complete failure to escape output is a critical security flaw that overshadows these strengths. This omission poses a substantial risk of XSS vulnerabilities. The absence of nonce and capability checks, though currently not exploitable due to the zero attack surface, indicates a potential design weakness. The lack of historical vulnerabilities is a positive, but should not be a substitute for addressing the clear and present risk of unescaped output.",[174,177,180],{"reason":175,"points":176},"Unescaped output detected",8,{"reason":178,"points":179},"Missing nonce checks",5,{"reason":181,"points":179},"Missing capability checks","2026-04-16T12:45:58.334Z",{"wat":184,"direct":189},{"assetPaths":185,"generatorPatterns":186,"scriptPaths":187,"versionParams":188},[],[],[],[],{"cssClasses":190,"htmlComments":191,"htmlAttributes":192,"restEndpoints":194,"jsGlobals":195,"shortcodeOutput":196},[],[],[193],"id='happythought'",[],[],[],{"error":198,"url":199,"statusCode":200,"statusMessage":201,"message":201},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Frandom-happiness\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":27,"versions":203},[]]