=== Random Christmas Fact Widget ===
Contributors: monkeymays
Donate link: https://christmaswebmaster.com/
Tags: christmas, christmas facts, holiday, sidebar, widget
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 2.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Displays one of 40 random Christmas facts in any WordPress widget area.

== Description ==

The Random Christmas Fact Widget displays one of 40 Christmas facts whenever a page loads.

Add the widget to any registered widget area, optionally give it a title, and the plugin will display a randomly selected fact. The output has no custom CSS, so it naturally inherits the typography and styling of your active theme.

Features:

* Displays one random fact from a collection of 40 Christmas facts.
* Works in any registered WordPress widget area.
* Includes an optional widget title.
* Supports multiple widget instances on the same page.
* Adds no custom CSS.
* Uses lightweight modern JavaScript.
* Preserves the original widget ID so existing placements and settings continue to work after updating.

For more Christmas resources, visit [ChristmasWebmaster.com](https://christmaswebmaster.com/).

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/random-christmas-fact-widget/` directory, or install the plugin through the WordPress Plugins screen.
2. Activate the plugin through the **Plugins** screen in WordPress.
3. Go to **Appearance > Widgets**.
4. Add the **Random Christmas Fact** widget to the desired widget area.
5. Optionally enter a widget title and save.

== Frequently Asked Questions ==

= Can I customize the widget title? =

Yes. Each widget instance includes an optional title field.

= Does the plugin add any styling? =

No. The fact inherits the typography and styling of your active theme.

= Can I add the widget more than once? =

Yes. Multiple instances can appear on the same page, and each instance selects its own random fact.

= Will my existing widget placement be preserved when I update? =

Yes. Version 2.0.0 keeps the original `cw_randomtext` widget ID so WordPress should retain existing widget placements and saved titles.

== Upgrade Notice ==

= 2.0.0 =

Important PHP 8 compatibility update. This release removes obsolete code that can cause a fatal error on modern hosting environments.

== Changelog ==

= 2.0.0 - 2026-07-22 =

* Fixed a fatal error on PHP 8 by removing the obsolete `create_function()` callback.
* Replaced the deprecated PHP 4-style widget constructor with `__construct()`.
* Replaced the obsolete `$this->WP_Widget()` call with `parent::__construct()`.
* Removed `extract()` from widget output handling.
* Added proper sanitization for saved widget titles.
* Added proper escaping for admin and frontend output.
* Replaced `document.write()` with safe DOM-based JavaScript.
* Added support for multiple widget instances on the same page.
* Loads the JavaScript only when the widget is displayed.
* Added automatic script cache busting.
* Preserved the original widget ID for backward compatibility.
* Updated plugin metadata, installation instructions, FAQ, and documentation.

= 1.3 - 2025-06-28 =

* Maintenance release.

= 1.2 - 2022-09-08 =

* Compatibility update.

= 1.1 - 2018-10-27 =

* Minor improvements.

= 1.0 - 2015-02-23 =

* Initial release.
