=== Effortless Business Opening Hours ===
Contributors: domclic
Donate link: https://id7.dev/donate/
Tags: opening hours, business hours, visiting hours, schedule, locations
Requires at least: 6.2
Tested up to: 7.0
Stable tag: 1.2.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Manage and display opening/visiting hours for shops and events with multiple locations, unlimited time slots, and specific closure dates.

== Description ==

Manage multiple locations with weekly schedules, unlimited time slots per day, and specific closed dates or date ranges (with optional labels). Display hours anywhere via [elboh_opening_hours] shortcode.

== Installation ==

1. Upload the plugin folder to /wp-content/plugins/
2. Activate through the Plugins menu
3. Go to Opening Hours > Add New to create your first location
4. Use [opening_hours id="location-slug"] in any page or widget

== Changelog ==

= 1.2.6 =
* Add dismissible donate notice on Opening Hours admin screens
* Add Donate link header; fix [opening_hours] reference in readme to [elboh_opening_hours]

= 1.2.5 =
* Replace inline admin <style> blocks with enqueued elboh-admin.css stylesheet
* Rename shortcode from [opening_hours] to [elboh_opening_hours] for uniqueness

= 1.2.4 =
* Remove load_plugin_textdomain() call; WordPress 4.6+ loads translations automatically

= 1.2.3 =
* Add Korean (ko_KR) and Japanese (ja) translations

= 1.2.2 =
* closed="hide" now also hides the upcoming closed dates/vacation notice below the schedule
* closed="hide" now also hides today's row when a specific date closure applies to today

= 1.2.1 =
* Fix closed="hide" not working when Gutenberg/block editor autocorrects straight quotes to curly/smart quotes

= 1.2.0 =
* Rename shortcode attributes: show_title → title, show_closed → closed
* Attribute values are now show/hide (e.g. title="hide", closed="hide"); 0/1/false/true still accepted
* width attribute now sets an exact width instead of max-width
* Accepted CSS units for width/height: px, %, em, rem, vw, vh, cm, mm, pt, auto

= 1.1.9 =
* Fix show_closed=0: now hides all closed days including today (removed forced today exception)
* Reduce spacing between schedule table and closure notice to 0.25em

= 1.1.8 =
* Allow deleting the last closure row in admin (no longer blocked by minimum-one guard)
* Skip blank closure entries on save so empty rows are never written to the database

= 1.1.7 =
* Remove all shortcode hint UI (edit screen bar and below-table options reference)

= 1.1.6 =
* Remove per-location shortcode listing below the list table; show only the options reference

= 1.1.5 =
* Fix double-escaping that corrupted shortcodes for titles with apostrophes, accents, or non-ASCII characters
* Show all location shortcodes (copy-ready) below the list table, above the options reference
* Fix format_date() timezone: parse stored dates as noon UTC to avoid off-by-one-day on UTC+ servers
* Fix usort callback defensively handling missing start/date keys in closure entries
* Guard unicode migration to run only for users with edit_posts capability
* Fix DOM-XSS vector in admin JS addSlot(): use createElement instead of innerHTML
* Uninstall now removes the elboh_unicode_v1 migration flag option

= 1.1.4 =
* Show shortcode options reference once below the locations list table instead of repeating in each row

= 1.1.3 =
* Move shortcode options table from the edit screen to the locations list table column
* Edit screen shows only the shortcode hint bar; list table column shows all options

= 1.1.2 =
* Auto-repair corrupted accented/unicode characters in existing closure labels (one-time migration)
* Match shortcode location by post title so non-ASCII names like Mandarin work without slug
* Shortcode hint on edit screen now shows location title instead of slug

= 1.1.1 =
* List all available shortcode options below the shortcode hint

= 1.1.0 =
* Show shortcode hint below the title on the location edit screen

= 1.0.9 =
* Show closed days in grey (day name + Closed text); remove italic

= 1.0.8 =
* Redesign to minimal output: stripped CSS, plain title, removed show_borders, no decorative markup

= 1.0.6 =
* Add show_borders shortcode attribute to hide card border, shadow, and row lines

= 1.0.5 =
* Add shortcode attributes: width, height, show_title, show_closed

= 1.0.4 =
* Fix UTF-8 characters (accents, CJK, etc.) corrupted in closure labels

= 1.0.3 =
* Add French, Spanish, and Traditional Chinese (Taiwan) translations

= 1.0.2 =
* Show shortcode in the Opening Hours locations list table

= 1.0.1 =
* Version bump for session completion and zip packaging

= 1.0.0 =
* Initial release
