{"id":133458,"date":"2020-12-16T17:52:03","date_gmt":"2020-12-16T17:52:03","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/indesign-random-quotes\/"},"modified":"2026-09-02T14:27:31","modified_gmt":"2026-09-02T14:27:31","slug":"indesign-random-quotes","status":"publish","type":"plugin","link":"https:\/\/fr-ca.wordpress.org\/plugins\/indesign-random-quotes\/","author":18443543,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.0","stable_tag":"2.0.0","tested":"7.1.1","requires":"5.0","requires_php":"7.3","requires_plugins":null,"header_name":"InDesign Random Quotes Widgets","header_author":"InDesign Media","header_description":"Random popular quotes use shortcode [id_popular_quotes]","assets_banners_color":"9095a1","last_updated":"2026-09-02 14:27:31","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/indesignmedia.net\/","header_plugin_uri":"https:\/\/indesignmedia.net","header_author_uri":"","rating":5,"author_block_rating":0,"active_installs":10,"downloads":3608,"num_ratings":4,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"indesignmedia","date":"2020-12-16 17:51:44","revision":2440878},"1.0.4":{"tag":"1.0.4","author":"indesignmedia","date":"2026-04-05 17:10:48","revision":3499244},"1.2":{"tag":"1.2","author":"indesignmedia","date":"2026-03-20 18:16:56","revision":3487392},"1.3":{"tag":"1.3","author":"indesignmedia","date":"2026-03-21 06:33:23","revision":3487623},"2.0.0":{"tag":"2.0.0","author":"indesignmedia","date":"2026-09-02 14:27:31","revision":3678176}},"upgrade_notice":{"2.0.0":"<p>Major admin redesign. Every change saves automatically, so the Save button is gone. Shortcodes work exactly the same, and any layout you had set via a shortcode attribute keeps working.<\/p>","1.4":"<p>Internal refactor into an <code>includes\/<\/code> folder plus small security hardening. No visible changes to shortcodes, options, or output.<\/p>","1.2":"<p>The settings have moved. Look for &quot;ID Quotes&quot; as a top-level menu item.<\/p>","1.1":"<p>You can now manage your own quotes from the admin and use the <code>layout<\/code> shortcode attribute.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":5},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3678162,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3678162,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon-512x512.png":{"filename":"icon-512x512.png","revision":3678162,"resolution":"512x512","location":"assets","locale":"","width":512,"height":512}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3678162,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3678162,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.4","1.2","1.3","2.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3678162,"resolution":"1","location":"assets","locale":"","width":1200,"height":1200},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3678162,"resolution":"2","location":"assets","locale":"","width":1200,"height":1200}},"screenshots":{"1":"Quotes Studio: the auto-saving Quotes tab with the mode picker and card-based quote list.","2":"Layouts tab: click any preview to set the site-wide default layout."}},"plugin_section":[],"plugin_tags":[258260,278887,8437,80],"plugin_category":[43],"plugin_contributors":[194132],"plugin_business_model":[],"class_list":["post-133458","plugin","type-plugin","status-publish","hentry","plugin_tags-quote-carousel","plugin_tags-quote-widget","plugin_tags-random-quotes","plugin_tags-shortcode","plugin_category-customization","plugin_contributors-indesignmedia","plugin_committers-indesignmedia"],"banners":{"banner":"https:\/\/ps.w.org\/indesign-random-quotes\/assets\/banner-772x250.png?rev=3678162","banner_2x":"https:\/\/ps.w.org\/indesign-random-quotes\/assets\/banner-1544x500.png?rev=3678162","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/indesign-random-quotes\/assets\/icon-128x128.png?rev=3678162","icon_2x":"https:\/\/ps.w.org\/indesign-random-quotes\/assets\/icon-256x256.png?rev=3678162","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/indesign-random-quotes\/assets\/screenshot-1.png?rev=3678162","caption":"Quotes Studio: the auto-saving Quotes tab with the mode picker and card-based quote list."},{"src":"https:\/\/ps.w.org\/indesign-random-quotes\/assets\/screenshot-2.png?rev=3678162","caption":"Layouts tab: click any preview to set the site-wide default layout."}],"raw_content":"<!--section=description-->\n<p>Add a random quote to any page, post, or widget area with a single shortcode. Pick from 16 layouts, run a fading carousel of your full list, and manage everything from a clean admin that saves as you type.<\/p>\n\n<h4>What you get<\/h4>\n\n<ul>\n<li>Two shortcodes: <code>[id_popular_quotes]<\/code> for one random quote and <code>[id_popular_quotes_carousel]<\/code> for a fading slideshow.<\/li>\n<li>16 layouts: Classic, Modern Blockquote, Minimalist, Vibrant Card, Glassmorphism, Gradient Border, Dark Sleek, Quote Bubble, Elegant Serif, Neon Glow, Paper Note, Brutalist, Typewriter, Floating Shadow, Cyber Punk, Retro Wave.<\/li>\n<li>A default layout you set once in the admin. Any shortcode without a <code>layout<\/code> attribute uses that default.<\/li>\n<li>Two sources: your own manual quotes, or the built-in list of 100 popular quotes.<\/li>\n<li>Auto-saving admin. No Save button, no unsaved state to worry about.<\/li>\n<li>Drag-to-reorder your quotes, edit or delete any of them inline.<\/li>\n<li>Live preview of the active default layout so you always know what visitors see.<\/li>\n<li>No jQuery on the front end. One small CSS file, plus a tiny inline script for the carousel.<\/li>\n<\/ul>\n\n<h4>Shortcode examples<\/h4>\n\n<p>Single random quote using the site-wide default layout:\n    [id_popular_quotes]<\/p>\n\n<p>Pick a specific layout:\n    [id_popular_quotes layout=\"neon-glow\"]<\/p>\n\n<p>Fading carousel:\n    [id_popular_quotes_carousel]<\/p>\n\n<p>Carousel with a specific layout and speed (seconds per slide):\n    [id_popular_quotes_carousel layout=\"glass\" speed=\"5\"]<\/p>\n\n<p>Every layout works for both the single shortcode and the carousel.<\/p>\n\n<h4>The admin (Quotes Studio)<\/h4>\n\n<p>The settings screen lives under <strong>ID Quotes<\/strong> in the main WordPress admin menu. It has two tabs:<\/p>\n\n<ul>\n<li><strong>Quotes.<\/strong> Pick your source (Manual or Universal). In Manual mode, add quotes with a two-field form, edit or delete any card, drag the handle to reorder. In Universal mode, browse the built-in 100 quotes with a live search box.<\/li>\n<li><strong>Layouts.<\/strong> Click any of the 16 preview cards to make it the site-wide default. The status banner at the top and the live preview both update instantly.<\/li>\n<\/ul>\n\n<p>Every change on this screen saves automatically. A small toast in the corner confirms each save.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>indesign-random-quotes<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the zip from the Plugins screen.<\/li>\n<li>Activate the plugin from the Plugins menu.<\/li>\n<li>Open <strong>ID Quotes<\/strong> in the admin menu to add your own quotes or pick a default layout.<\/li>\n<li>Drop <code>[id_popular_quotes]<\/code> into any page, post, or shortcode-aware widget.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20show%20a%20random%20quote%20on%20my%20site%3F\"><h3>How do I show a random quote on my site?<\/h3><\/dt>\n<dd><p>Paste <code>[id_popular_quotes]<\/code> into any page, post, or shortcode-aware widget. Each page load picks a fresh random quote from your active list.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20my%20own%20quotes%3F\"><h3>How do I add my own quotes?<\/h3><\/dt>\n<dd><p>Open <strong>ID Quotes<\/strong> in the admin menu, make sure Manual is selected, and use the \"Add a new quote\" form. Type the quote, type the author, click Add. It appears in the list below as a card.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20click%20save%3F\"><h3>Do I need to click Save?<\/h3><\/dt>\n<dd><p>No. Everything on the settings screen saves automatically as you click, type, edit, or drag. A small toast in the corner confirms each save.<\/p><\/dd>\n<dt id=\"can%20i%20edit%20or%20delete%20a%20quote%20after%20i%20added%20it%3F\"><h3>Can I edit or delete a quote after I added it?<\/h3><\/dt>\n<dd><p>Yes. Each quote card has a pencil icon (edit inline) and a trash icon (delete). Both save straight away.<\/p><\/dd>\n<dt id=\"can%20i%20reorder%20my%20quotes%3F\"><h3>Can I reorder my quotes?<\/h3><\/dt>\n<dd><p>Yes. Grab the six-dot handle on the left of any card and drag it up or down. The new order saves automatically.<\/p><\/dd>\n<dt id=\"how%20do%20i%20set%20a%20default%20design%20for%20every%20shortcode%20at%20once%3F\"><h3>How do I set a default design for every shortcode at once?<\/h3><\/dt>\n<dd><p>Open the <strong>Layouts<\/strong> tab and click any preview card. That layout becomes the site-wide default, and any shortcode without a <code>layout<\/code> attribute uses it from then on. The status banner at the top of the page updates instantly.<\/p><\/dd>\n<dt id=\"how%20do%20i%20use%20a%20specific%20design%20in%20one%20shortcode%3F\"><h3>How do I use a specific design in one shortcode?<\/h3><\/dt>\n<dd><p>Add the <code>layout<\/code> attribute with the layout slug, for example <code>[id_popular_quotes layout=\"typewriter\"]<\/code> or <code>[id_popular_quotes_carousel layout=\"cyber-punk\"]<\/code>. Layouts set this way override the site-wide default for that shortcode only.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20manual%20and%20universal%20mode%3F\"><h3>What is the difference between Manual and Universal mode?<\/h3><\/dt>\n<dd><p>Manual serves only the quotes you add. Universal serves the built-in list of 100 popular quotes. Switch between them at any time by clicking the mode card. Your manual quotes stay saved even when Universal is active.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20manual%20mode%20is%20on%20but%20i%20have%20no%20quotes%20yet%3F\"><h3>What happens if Manual mode is on but I have no quotes yet?<\/h3><\/dt>\n<dd><p>The plugin falls back to the built-in universal list, so visitors never see a blank space.<\/p><\/dd>\n<dt id=\"how%20do%20i%20run%20a%20carousel%20and%20change%20the%20fade%20speed%3F\"><h3>How do I run a carousel and change the fade speed?<\/h3><\/dt>\n<dd><p>Use <code>[id_popular_quotes_carousel]<\/code> and add <code>speed=\"10\"<\/code> in seconds to control the interval. For example, <code>[id_popular_quotes_carousel layout=\"glass\" speed=\"5\"]<\/code> fades every five seconds.<\/p><\/dd>\n<dt id=\"can%20i%20put%20multiple%20shortcodes%20on%20the%20same%20page%3F\"><h3>Can I put multiple shortcodes on the same page?<\/h3><\/dt>\n<dd><p>Yes. Each one runs on its own, so different layouts and carousels can coexist on the same page.<\/p><\/dd>\n<dt id=\"where%20can%20i%20copy%20the%20shortcode%20for%20a%20specific%20layout%3F\"><h3>Where can I copy the shortcode for a specific layout?<\/h3><\/dt>\n<dd><p>Open the <strong>Layouts<\/strong> tab. Each preview card has two ready-to-copy shortcodes: one for the single quote and one for the carousel. Click either to copy.<\/p><\/dd>\n<dt id=\"can%20i%20search%20the%20built-in%20universal%20collection%3F\"><h3>Can I search the built-in Universal collection?<\/h3><\/dt>\n<dd><p>Yes. In the admin, switch to Universal mode and use the search box above the list to filter by quote text or author name.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20work%20with%20elementor%2C%20divi%2C%20or%20other%20page%20builders%3F\"><h3>Does the plugin work with Elementor, Divi, or other page builders?<\/h3><\/dt>\n<dd><p>Yes. The shortcodes work in any builder that supports shortcodes. In Elementor, use a Shortcode widget or Text Editor. In Divi, use a Code module. In Beaver Builder, use a Text module.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20site%3F\"><h3>Will it slow down my site?<\/h3><\/dt>\n<dd><p>No. The front end loads one small CSS file and adds no JavaScript unless a carousel is on the page. Quotes are stored in a WordPress option, so there are no extra database queries per page load.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20quotes%20if%20i%20deactivate%20the%20plugin%3F\"><h3>What happens to my quotes if I deactivate the plugin?<\/h3><\/dt>\n<dd><p>Your quotes and settings stay in the database, so if you reactivate the plugin later everything is exactly where you left it.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20use%20jquery%3F\"><h3>Does the plugin use jQuery?<\/h3><\/dt>\n<dd><p>No. The admin uses vanilla JavaScript. The front end loads a single small CSS file and only prints a tiny inline script when you use the carousel shortcode.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Renamed the plugin to \"InDesign Random Quotes Widgets\".<\/li>\n<li>New Quotes Studio admin with two tabs, pill navigation, and a live status banner that shows the active mode, pool size, and default layout.<\/li>\n<li>New default layout picker. Click a preview card to set the site-wide default. Shortcodes without a <code>layout<\/code> attribute fall back to this setting.<\/li>\n<li>New card-based quote manager. Add, edit, delete, and drag the handle to reorder your quotes.<\/li>\n<li>Universal mode now shows the built-in 100 quotes in a scrollable, searchable list.<\/li>\n<li>Every change saves automatically over AJAX. The Save button is gone. A small toast in the corner confirms each save.<\/li>\n<li>Refactor: split the single-file plugin into a small <code>includes\/<\/code> folder.<\/li>\n<li>Security: nonce and capability checks on every AJAX endpoint. Strict allowlists for mode and layout values.<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Refactor into an <code>includes\/<\/code> folder with per-concern files.<\/li>\n<li>Layouts driven by a single registry so front-end output and admin previews stay in sync.<\/li>\n<li><code>wp_rand()<\/code> replaces <code>rand()<\/code>. Strict allowlist for mode. Capability check on the settings screen.<\/li>\n<li>Fixed a stray CSS declaration in the admin styles.<\/li>\n<li>Text Domain header added.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Expanded the Frequently Asked Questions with more detailed entries.<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Doubled the number of layouts from 8 to 16, including Elegant Serif, Cyber Punk, Floating Shadow, Neon Glow, and Retro Wave.<\/li>\n<li>Added the <code>[id_popular_quotes_carousel]<\/code> shortcode for a fading slideshow.<\/li>\n<li>Redesigned the admin screen with a live preview grid.<\/li>\n<li>Added 1-click shortcode copy buttons.<\/li>\n<li>Added the Quick Add form for manual quotes.<\/li>\n<li>Grew the built-in universal collection to 100 quotes.<\/li>\n<li>Removed hardcoded author name prefixes across layouts.<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Moved the settings panel to a top-level admin menu item.<\/li>\n<li>Added sanitization callbacks for settings storage.<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Added the settings page for managing custom quotes.<\/li>\n<li>Added the <code>layout<\/code> attribute for design variants.<\/li>\n<li>Shortcode returns output instead of echoing it.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Random quote shortcodes with 16 layouts, a fading carousel, and an auto-saving admin.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fr-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/133458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fr-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fr-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fr-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=133458"}],"author":[{"embeddable":true,"href":"https:\/\/fr-ca.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/indesignmedia"}],"wp:attachment":[{"href":"https:\/\/fr-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=133458"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fr-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=133458"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fr-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=133458"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fr-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=133458"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fr-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=133458"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fr-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=133458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}