=== AddonLogic Random Quote of the Day ===
Contributors: snehalpancholi
Tags: quote, quote of the day, daily quote, widget, shortcode
Requires at least: 6.0
Tested up to: 6.7
Stable tag: 1.0.0
Requires PHP: 8.1
License: GPL-2.0+
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Display a daily rotating quote from your admin-managed library via shortcode or widget.

== Description ==

AddonLogic Random Quote of the Day lets you build and manage a library of quotes directly from the WordPress admin. One quote is shown per calendar day — every visitor on the same day sees the same quote. You can also cycle through quotes sequentially or pin a specific quote manually.

**Key Features**

* Admin-managed quote library (text, author, source, category)
* Three rotation modes: Daily Random, Sequential, Manual (pinned)
* Shortcode `[quote_of_the_day]` for any post, page, or text widget
* Sidebar widget with per-instance style and category overrides
* Four display styles: Minimal, Card, Blockquote, Bordered
* Category filter — show only quotes from a specific category
* Dark mode support via CSS variables
* AJAX-powered quote management (add, edit, delete, toggle active)
* 5 famous seed quotes installed on activation
* Transient caching expires precisely at midnight to ensure a fresh daily quote
* No jQuery dependency

== Installation ==

1. Upload the `random-quote-of-the-day` folder to `/wp-content/plugins/`.
2. Activate the plugin via **Plugins > Installed Plugins**.
3. Go to **Quote of the Day** in the admin sidebar to manage your quote library and settings.
4. Add the shortcode `[quote_of_the_day]` to any post or page.

== Frequently Asked Questions ==

= Do all visitors see the same quote on the same day? =
Yes. Daily Random mode uses the calendar date as a seed so every visitor on the same day gets the same quote. The result is cached in a transient that expires at midnight.

= Can I show quotes from only one category? =
Yes. Use the `category` attribute: `[quote_of_the_day category="Inspiration"]`. The category filter is case-insensitive.

= Can I override the style for one specific shortcode? =
Yes. Use the `style` attribute: `[quote_of_the_day style="minimal"]`.

= What happens if I delete a quote that was cached for today? =
The plugin falls through to pick a new quote immediately and re-caches it.

= Is the widget separate from the shortcode? =
The widget internally calls the same shortcode rendering, so all styles and logic are consistent.

== Changelog ==

= 1.0.0 =
* Initial release.
* Quote library with AJAX CRUD management.
* Shortcode with style, show_author, show_source, category attributes.
* Widget with per-instance overrides.
* Daily Random, Sequential, and Manual rotation modes.
* Four CSS display styles.
* Midnight transient expiry for true daily rotation.
* 5 seed quotes on first activation.

== Upgrade Notice ==

= 1.0.0 =
Initial release.

== Screenshots ==

1. Quotes Library tab — manage your quote collection with inline edit, enable/disable, and delete.
2. Settings tab — choose rotation mode, display style, and toggle author/source display.
3. Card style displayed on a post page.
4. Blockquote style displayed in a sidebar widget.
5. Minimal style with large decorative quotation mark.
6. Bordered style with centered italic text.
