[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fxLK7dGrkeSafvRsWmVnE0wiXZdRMvRGw4K77DbNhsnQ":3},{"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":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":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":34,"analysis":132,"fingerprints":214},"wp-random-quote","WP Random Quote","1.0.3","sabirmostofa","https:\u002F\u002Fprofiles.wordpress.org\u002Fsabirmostofa\u002F","\u003Cp>Display a random quote provided by QOTD.org in your sidebar as a widget or in a page\u002Fpost using a shortcode. For more info:www.qotd.org\u002Fwp-plugin.html\u003C\u002Fp>\n\u003Cp>The main features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>As many \u003Cstrong>widgets\u003C\u002Fstrong> as you need\u003C\u002Fli>\n\u003Cli>Font sizes can be configured\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Optional \u003Cstrong>automatic rotation\u003C\u002Fstrong> of the quotes\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Shortcodes\u003C\u002Fstrong> can be used to add one quote or series of quotes to your posts and pages. The shortcodes come with a set of individual options as well and, if needed, they can be extended to apply everywhere on the blog, allowing random words for the tagline, the category names, the post titles etc.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","Display a random quote provided by QOTD.org in your sidebar as a widget or in a page\u002Fpost using a shortcode. For more info:www.qotd.org\u002Fwp-plugin.html",30,5773,0,"2015-01-19T23:59:00.000Z","4.1.42","2.8","",[19,20,21,22,23],"quotes","random","random-quotes","sidebar","widget","http:\u002F\u002Fwww.qotd.org","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-random-quote.1.0.3.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":26,"avg_patch_time_days":11,"trust_score":32,"computed_at":33},1,84,"2026-04-04T09:05:41.286Z",[35,53,74,97,113],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":43,"downloaded":44,"rating":45,"num_ratings":46,"last_updated":47,"tested_up_to":48,"requires_at_least":16,"requires_php":17,"tags":49,"homepage":51,"download_link":52,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"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,21239,86,6,"2016-09-29T02:57:00.000Z","4.6.30",[21,50,23],"shortcodes","http:\u002F\u002Ftrepmal.com\u002Fplugins\u002Feasy-random-quotes\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feasy-random-quotes.1.8.zip",{"slug":54,"name":55,"version":56,"author":57,"author_profile":58,"description":59,"short_description":60,"active_installs":61,"downloaded":62,"rating":63,"num_ratings":64,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":17,"tags":68,"homepage":72,"download_link":73,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"advanced-random-posts-widget","Advanced Random Posts Widget","2.2.1","Ga Satrya","https:\u002F\u002Fprofiles.wordpress.org\u002Fsatrya\u002F","\u003Ch4>Notice\u003C\u002Fh4>\n\u003Cp>This plugin is no longer supported, please use \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Frecent-posts-widget-extended\u002F\" rel=\"ugc\">Recent posts widget Extended\u003C\u002Fa> instead.\u003C\u002Fp>\n\u003Cp>This plugin will enable a custom, flexible and advanced random posts. It allows you to display a list of random posts via shortcode or widget with thumbnail, excerpt and post date, also you can display it from all or specific or multiple taxonomy.\u003C\u002Fp>\n\u003Ch4>Features Include\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Allow you to set title url.\u003C\u002Fli>\n\u003Cli>Display thumbnails, with customizable size and alignment.\u003C\u002Fli>\n\u003Cli>Display excerpt, with customizable length.\u003C\u002Fli>\n\u003Cli>Display from all, specific or multiple category.\u003C\u002Fli>\n\u003Cli>Display from all, specific or multiple tag.\u003C\u002Fli>\n\u003Cli>Display from all, specific or multiple taxonomy.\u003C\u002Fli>\n\u003Cli>Display post date.\u003C\u002Fli>\n\u003Cli>Display post modified date.\u003C\u002Fli>\n\u003Cli>Post types.\u003C\u002Fli>\n\u003Cli>Post status.\u003C\u002Fli>\n\u003Cli>Allow you to set custom css class per widget.\u003C\u002Fli>\n\u003Cli>Add custom html or text before and\u002For after random posts.\u003C\u002Fli>\n\u003Cli>Multiple widgets.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Support Me\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Purchase or download my \u003Ca href=\"https:\u002F\u002Fwp.idenovasi.com\u002F\" rel=\"nofollow ugc\">WordPress themes\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Purchase my \u003Ca href=\"https:\u002F\u002Fwww.fiverr.com\u002Fidenovasi\" rel=\"nofollow ugc\">Services\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>Try another \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fidenovasi\u002F#content-plugins\" rel=\"nofollow ugc\">WordPress plugin\u003C\u002Fa> from me.\u003C\u002Fli>\n\u003Cli>Contribute on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fidenovasi\u002Fadvanced-random-posts-widget\" rel=\"nofollow ugc\">Github\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Shorcode Explanation\u003C\u002Fh3>\n\u003Cp>Explanation of shortcode options:\u003C\u002Fp>\n\u003Cp>Basic shortcode\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[arpw]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display 10 random posts\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[arpw limit=\"10\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display with thumbnail and set the size\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[arpw thumbnail=\"true\" thumbnail_size=\"arpw-thumbnail\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display posts based on category by id\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[arpw thumbnail=\"true\" cat=\"10\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Display portfolio post type\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[arpw post_type=\"portfolio\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Here’s the full default shortcode arguments\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>title=\"\"\noffset=\"\"\nlimit=\"5\"\npost_type=\"post\"\npost_status=\"publish\"\nignore_sticky=\"1\"\ntaxonomy=\"\"\ncat=\"\"\ntag=\"\"\nthumbnail=\"false\"\nthumbnail_size=\"arpw-thumbnail\"\nthumbnail_align=\"left\"\nexcerpt=\"false\"\nexcerpt_length=\"10\"\ndate=\"false\"\ndate_modified=\"false\"\ndate_relative=\"false\"\ncss_class=\"\"\nbefore=\"\"\nafter=\"\"\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Provides flexible and advanced random posts. Display it via shortcode or widget with thumbnails, post excerpt, and much more!",10000,216217,80,39,"2023-08-05T11:11:00.000Z","6.1.10","4.5",[69,22,70,23,71],"random-posts","thumbnail","widgets","https:\u002F\u002Fgithub.com\u002Fidenovasi\u002Fadvanced-random-posts-widget","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-random-posts-widget.2.2.1.zip",{"slug":75,"name":76,"version":77,"author":78,"author_profile":79,"description":80,"short_description":81,"active_installs":82,"downloaded":83,"rating":84,"num_ratings":46,"last_updated":85,"tested_up_to":86,"requires_at_least":87,"requires_php":88,"tags":89,"homepage":17,"download_link":92,"security_score":93,"vuln_count":94,"unpatched_count":95,"last_vuln_date":96,"fetched_at":28},"xv-random-quotes","XV Random Quotes","2.7.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,8991,74,"2026-02-17T18:38:00.000Z","6.9.4","6.0","7.4",[90,91,19,20,23],"blocks","gutenberg","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fxv-random-quotes.2.7.0.zip",54,4,2,"2025-04-03 00:00:00",{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":105,"downloaded":106,"rating":63,"num_ratings":94,"last_updated":107,"tested_up_to":108,"requires_at_least":109,"requires_php":17,"tags":110,"homepage":111,"download_link":112,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"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",100,4780,"2015-03-21T15:41:00.000Z","4.0.38","3.1",[19,21],"http:\u002F\u002Fmgiulio.info\u002Fprojects\u002Fmg-quotes\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmg-quotes.zip",{"slug":114,"name":115,"version":116,"author":117,"author_profile":118,"description":119,"short_description":120,"active_installs":105,"downloaded":121,"rating":63,"num_ratings":31,"last_updated":122,"tested_up_to":123,"requires_at_least":124,"requires_php":17,"tags":125,"homepage":128,"download_link":129,"security_score":130,"vuln_count":31,"unpatched_count":31,"last_vuln_date":131,"fetched_at":28},"xmasb-quotes","XmasB Quotes","1.6.1","XmasB","https:\u002F\u002Fprofiles.wordpress.org\u002Fxmasb\u002F","\u003Cp>XmasB Quotes lets you add and show randow quotes to your wordpress blog with ease. It uses the db to store quotes.\u003Cbr \u002F>\nYou can specify an image for each quote, deafult image for quotes, or disable images.\u003Cbr \u002F>\nNow with the option to use quotes as links!\u003C\u002Fp>\n\u003Cp>Please rate this plugin if you like it!\u003C\u002Fp>\n\u003Cp>For support and questions please visit \u003Ca href=\"http:\u002F\u002Fxmasb.com\u002Fxmasbquotes\" rel=\"nofollow ugc\">the plugin page\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>XmasB Quotes is available in the following languages:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>English (base language – feel free to make suggestions if you want\u003C\u002Fli>\n\u003Cli>Belarusian – by \u003Ca href=\"http:\u002F\u002Fwww.fatcow.com\" rel=\"nofollow ugc\">Fat Cow\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Dutch – by Rene at \u003Ca href=\"http:\u002F\u002Fwpwebshop.com\u002Fpremium-wordpress-plugins\u002F\" rel=\"nofollow ugc\">WordPress Webshop\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>French – by Farida at \u003Ca href=\"http:\u002F\u002Fwww.traducteurs.com\u002F\" rel=\"nofollow ugc\">Traducteurs.com\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>German – by \u003Ca href=\"http:\u002F\u002Fwww.alariel.de\u002Fblog\u002F\" rel=\"nofollow ugc\">Alariel\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Italian – by \u003Ca href=\"http:\u002F\u002Fgidibao.net\u002F\" rel=\"nofollow ugc\">gidibao\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Norwegian – by \u003Ca href=\"http:\u002F\u002Fzhayena.net\u002F\" rel=\"nofollow ugc\">Kristin K. Wangen\u003C\u002Fa> \u002F \u003Ca href=\"http:\u002F\u002Fxmasb.com\" rel=\"nofollow ugc\">Yngve Thoresen\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Russian – by Flector at \u003Ca href=\"http:\u002F\u002Fwww.wordpressplugins.ru\u002F\" rel=\"nofollow ugc\">WordPressPlugins.ru\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Spanish – by \u003Ca href=\"http:\u002F\u002Fwww.elquintosuyo.com\u002F\" rel=\"nofollow ugc\">Carlos\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Swedish – by \u003Ca href=\"http:\u002F\u002Frabatt.se\u002F\" rel=\"nofollow ugc\">Rabatt\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support and questions please visit \u003Ca href=\"http:\u002F\u002Fxmasb.com\u002Fxmasbquotes\" rel=\"nofollow ugc\">the plugin page\u003C\u002Fa>\u003C\u002Fp>\n","Add random quotes with image to your Wordpress blog with this widget.",21054,"2012-01-03T07:45:00.000Z","3.3.2","2.0.2",[126,19,22,23,127],"image","xmasb","http:\u002F\u002Fxmasb.com\u002Fxmasbquotes","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fxmasb-quotes.1.6.1.zip",63,"2025-08-26 00:00:00",{"attackSurface":133,"codeSignals":158,"taintFlows":195,"riskAssessment":196,"analyzedAt":213},{"hooks":134,"ajaxHandlers":149,"restRoutes":150,"shortcodes":151,"cronEvents":155,"entryPointCount":31,"unprotectedCount":13},[135,141,145],{"type":136,"name":137,"callback":138,"file":139,"line":140},"action","widgets_init","anonymous","Random_Quote.php",37,{"type":136,"name":142,"callback":143,"file":139,"line":144},"wprq_cron_hook","cron_func",38,{"type":136,"name":146,"callback":147,"file":139,"line":148},"admin_menu","CreateMenu",40,[],[],[152],{"tag":153,"callback":154,"file":139,"line":64},"random-quote","random_quote_shortcode",[156],{"hook":142,"callback":142,"file":139,"line":157},87,{"dangerousFunctions":159,"sqlUsage":163,"outputEscaping":165,"fileOperations":13,"externalRequests":31,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":194},[160],{"fn":161,"file":139,"line":140,"context":162},"create_function","add_action('widgets_init', create_function('', 'register_widget(\"Random_Quote_Widget\");'));",{"prepared":13,"raw":13,"locations":164},[],{"escaped":94,"rawEcho":166,"locations":167},14,[168,172,174,175,177,179,180,182,184,185,187,189,191,192],{"file":169,"line":170,"context":171},"widget.php",21,"raw output",{"file":169,"line":173,"context":171},22,{"file":169,"line":173,"context":171},{"file":169,"line":176,"context":171},25,{"file":169,"line":178,"context":171},26,{"file":169,"line":178,"context":171},{"file":169,"line":181,"context":171},33,{"file":169,"line":183,"context":171},34,{"file":169,"line":183,"context":171},{"file":169,"line":186,"context":171},55,{"file":169,"line":188,"context":171},58,{"file":169,"line":190,"context":171},65,{"file":169,"line":190,"context":171},{"file":169,"line":193,"context":171},67,[],[],{"summary":197,"deductions":198},"The wp-random-quote plugin v1.0.3 demonstrates a mixed security posture. On the positive side, it utilizes prepared statements for all SQL queries and has no recorded CVEs, indicating a generally stable and less frequently targeted plugin. The limited attack surface, with only one shortcode and no direct AJAX or REST API entry points without authentication, further contributes to its perceived security. However, several concerning code signals warrant attention. The presence of the `create_function` dangerous function is a significant red flag, as it can be exploited for code injection vulnerabilities if not handled with extreme care. Furthermore, a low percentage of properly escaped output (22%) suggests a high risk of Cross-Site Scripting (XSS) vulnerabilities, allowing attackers to inject malicious scripts into the website. The absence of nonce and capability checks on its single shortcode entry point means that any user, regardless of their role or permissions, could potentially trigger the shortcode's functionality, opening it up to unauthorized actions or information disclosure. The external HTTP request also introduces a potential attack vector if the target endpoint is compromised or susceptible to manipulation.\n\nWhile the plugin has no known vulnerabilities or a history of exploits, this could be due to its low profile or the fact that the existing issues have not yet been discovered or exploited. The presence of `create_function` and the high rate of unescaped output are critical weaknesses that could be easily exploited. The lack of capability checks on the shortcode, coupled with the external HTTP request, also presents a notable risk. Therefore, despite the absence of CVEs, users should exercise caution and consider the potential for exploitation due to these underlying code quality issues.",[199,202,205,208,211],{"reason":200,"points":201},"Dangerous function used (create_function)",15,{"reason":203,"points":204},"Low output escaping percentage",8,{"reason":206,"points":207},"No capability checks on shortcode",7,{"reason":209,"points":210},"External HTTP request",5,{"reason":212,"points":210},"No nonce checks on shortcode","2026-03-16T22:40:07.692Z",{"wat":215,"direct":220},{"assetPaths":216,"generatorPatterns":217,"scriptPaths":218,"versionParams":219},[],[],[],[],{"cssClasses":221,"htmlComments":222,"htmlAttributes":223,"restEndpoints":224,"jsGlobals":225,"shortcodeOutput":226},[],[],[],[],[],[227,228,229,230],"\u003Cdiv  style=\"font-size: $font\">","Random Quote","In any post or page add the shotcode \u003Cb>[random-quote]\u003C\u002Fb>","\u003Cb> [random-quote font=\"16px\"] \u003C\u002Fb>"]