=== Cheyytec Content Warning Blur ===
Contributors: laylon2021
Tags: content warning, trigger warning, spoiler, blur, sensitive content
Requires at least: 6.2
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Hide sensitive text or images behind a blurred content warning with a click-to-reveal button. Wrap anything in a simple shortcode.

== Description ==

**Cheyytec Content Warning Blur** lets you place a content warning over any part of a page or post. The wrapped text or images are shown blurred, with a short warning and a "Show content" button. Visitors stay in control — the content is only revealed if they choose to click.

It's perfect for spoilers, trigger warnings, sensitive photos, medical or graphic material, plot reveals, and any content your readers may want to opt into rather than see by surprise.

= Key features =

* **Wrap anything** — text, images, or other shortcodes — in a content warning.
* **Blur + click-to-reveal** — content stays hidden until the visitor clicks the button.
* **Custom wording** — set your own warning label and button text, per shortcode or site-wide (Settings → Content Warning).
* **Lightweight and dependency-free** — a tiny script and stylesheet load only where the shortcode is used.
* Works with the block editor, classic editor and most page builders.

= How to use =

Wrap the content you want to hide inside the `[cheyytec_content_warning]` shortcode:

`[cheyytec_content_warning]This is the sensitive text or image that will be blurred.[/cheyytec_content_warning]`

Customise the wording with attributes:

`[cheyytec_content_warning label="Spoiler ahead" button="Reveal spoiler"]The butler did it.[/cheyytec_content_warning]`

You can also place an image or gallery inside the shortcode — it will be blurred until revealed.

= Pro version =

Content Warning Blur Pro adds:

* **18+ age gate** — require an age confirmation before revealing, with an `age="18"` attribute and your own confirmation text.
* **Remembered consent** — once a visitor confirms their age, age-gated content stays revealed for a number of days you choose (cookie).
* **Automatic category warnings** — blur every post in selected categories automatically, no shortcode needed.
* **Reveal analytics** — see which pages get their warnings revealed the most.

== Installation ==

1. Upload the `cheyytec-content-warning-blur` folder to the `/wp-content/plugins/` directory, or install the plugin through the **Plugins** screen in WordPress.
2. Activate the plugin through the **Plugins** screen.
3. Wrap any content in the `[cheyytec_content_warning]...[/cheyytec_content_warning]` shortcode.

== Frequently Asked Questions ==

= What can I put inside the shortcode? =

Any text or images, and even other shortcodes. The enclosed content is blurred until the visitor clicks to reveal it.

= Can I change the warning text and button label? =

Yes. Use the `label` and `button` attributes, for example: `[cheyytec_content_warning label="Graphic content" button="I understand, show it"]...[/cheyytec_content_warning]`.

= Does it require any configuration? =

No. Just wrap your content in the shortcode and it works. Optionally, set your default label and button text under **Settings → Content Warning**.

= Is the content still in the page source? =

Yes. This plugin is a visual opt-in warning (blur until click); it is not an access-control or security feature. It's ideal for spoilers, trigger warnings and sensitive media that you still want present on the page.

== Screenshots ==

1. Sensitive content shown blurred with a warning and a reveal button.
2. The same content after the visitor clicks to reveal it.

== Changelog ==

= 1.1.0 =
* New: settings page (Settings → Content Warning) to set the default warning label and button text site-wide.
* New: Pro version with 18+ age gate (remembered consent), automatic category warnings and reveal analytics.

= 1.0.0 =
* Initial release: the `[cheyytec_content_warning]` enclosing shortcode with blur, click-to-reveal, and custom label and button text.

== Upgrade Notice ==

= 1.1.0 =
Adds a settings page for default wording and an optional Pro upgrade.

= 1.0.0 =
Initial release.
