=== 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: 6.8 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.