=== IgnLab QR Codes ===
Contributors: ignlab
Tags: qr, qr code, dynamic qr, woocommerce, generator
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.4
Stable tag: 1.3.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Add custom, branded QR codes anywhere with a block or shortcode. Optional dynamic codes let you change the destination later and track scans.

== Description ==

IgnLab QR Codes brings the free tool at https://qr.ignlab.net/ into WordPress.

* **Block & shortcode** — drop a QR code into any post, page, or widget.
* **Styled** — set colors and dot style; add a center logo.
* **Dynamic codes (optional)** — a short link is created so you can change where the code points *after it's printed*, and see scan analytics on your dashboard.
* **WooCommerce** — automatically show a "scan to open on your phone" QR on product pages.
* **Private by default** — static QR codes render entirely in the visitor's browser. Dynamic codes are managed by a secret link only you hold — no account required.

= Shortcode =

`[ignlab_qr url="https://example.com" size="240" color="#111111" dynamic="yes" download="yes" caption="Scan me"]`

Leave `url` blank to encode the current page. Use `data="..."` to encode arbitrary text (Wi-Fi, vCard, etc.) instead of a URL.

== Installation ==

1. Upload the `ignlab-qr` folder to `/wp-content/plugins/`, or install the ZIP via Plugins → Add New → Upload.
2. Activate the plugin.
3. Configure defaults under Settings → IgnLab QR.

== Frequently Asked Questions ==

= Do dynamic QR codes expire? =
No. The short link is permanent; you can repoint it any time from the management dashboard.

= Where is scan data stored? =
Dynamic link data lives on qr.ignlab.net. Scanner IP addresses are hashed, not stored in the clear.

= Does the static QR work without JavaScript? =
The QR image is drawn in the browser, so a JavaScript-capable browser is required to display it.

== Changelog ==

= 1.3.0 =
* Added a `type` attribute/block setting for Wi-Fi, vCard, MECARD, and 2FA (otpauth) QR codes — matching the content types available on qr.ignlab.net. Existing `url="..."` and `data="..."` usage is unchanged.

= 1.2.0 =
* Added an Account API key setting: dynamic codes created by the plugin are now tied to your qr.ignlab.net account (dashboard, plan limits, analytics) instead of being anonymous.

= 1.1.0 =
* Added server-image mode (`img="yes"` / block toggle) that renders an <img> from qr.ignlab.net, so QR codes work in emails, AMP and no-JavaScript contexts.

= 1.0.0 =
* Initial release: block, shortcode, WooCommerce product QR, dynamic codes with analytics.
