=== Accordly – Smart FAQ Schema ===
Contributors:      syedmaasif
Tags:              faq, schema, structured data, accordion, rich snippets
Requires at least: 5.9
Tested up to:      7.0
Requires PHP:      7.4
Stable tag:        1.1.5
License:           GPLv2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html

Add beautiful FAQ accordions with FAQPage JSON-LD schema to any post or page. Boost Google rich results with zero coding.

== Description ==

**Smart FAQ Schema** lets you add beautiful, accessible FAQ accordions to any WordPress post or page, with automatic FAQPage JSON-LD schema markup output in the `<head>` for Google rich results.

No coding required. Works with the Classic Editor, Block Editor (Gutenberg), and Elementor out of the box.

**Key Features**

* ✅ FAQPage JSON-LD schema — Google-recommended format, injected automatically
* ✅ 5 accordion UI styles: Classic, Minimal Line, Card / Shadow, Left Accent Border, Modern Pill
* ✅ Shortcode `[sfaq]` + optional auto-inject after post content
* ✅ Elementor compatible — use the shortcode in any Text or Shortcode widget
* ✅ Elementor-style live preview panel in the Styling settings tab
* ✅ Full colour, font, padding and border-radius controls
* ✅ Per-post overrides — schema on/off, accordion visible/hidden, custom title
* ✅ Bulk FAQ checker — see every post's FAQ status at a glance with ✔ / ✘ status
* ✅ Collapsible FAQ rows in the editor for a clutter-free experience with many FAQs
* ✅ 100% safe for existing posts — FAQ section only renders when at least one FAQ is filled in

**Why Schema Matters**

Google can display FAQ rich results directly in search — showing your questions and answers below your page listing. This increases click-through rate and takes up more SERP real estate. Smart FAQ Schema outputs the exact JSON-LD structure Google recommends.

**Display Options**

* **Auto-inject** — FAQs automatically appear after post content on every post/page with FAQs added
* **Shortcode** — Place `[sfaq]` anywhere in your content or page builder
* **Both** — Auto-inject is active and the shortcode also works independently

**Per-Post Controls**

Each post/page can override the global settings:

* Show or hide the FAQ accordion independently of the schema output
* Enable or disable schema just for that post
* Set a custom section title per post

**Bulk FAQ Checker**

Go to Smart FAQ → Bulk Checker to see all your posts, pages, and products with a ✔ / ✘ FAQ status column. Filter by post type or status and jump straight to editing.

== Installation ==

1. Upload the `smart-faq-schema` folder to `/wp-content/plugins/`.
2. Activate the plugin through **Plugins > Installed Plugins**.
3. Go to **Smart FAQ > Settings** to configure colours, style and display method.
4. Open any post or page and fill in FAQs in the **Smart FAQ Schema** meta box below the editor.
5. Save/Update the post — the accordion and schema are live immediately.

**Elementor Users**

Use `[sfaq]` inside a Shortcode or Text widget in your Elementor template, placed after your main content area. Or switch the display method to "Auto-inject" in Settings and the FAQ is added automatically.

== Frequently Asked Questions ==

= Will it break my existing posts? =
No. The plugin checks whether a post has at least one filled FAQ before rendering anything. Posts and pages with no FAQs added are completely untouched — even if the plugin is active.

= Does it work with Elementor? =
Yes. Use `[sfaq]` in a Shortcode or Text widget. You can also enable **Auto-inject** in Settings → General to have it appended automatically after the content area on all posts/pages with FAQs.

= Can I hide the accordion from visitors but still get the schema? =
Yes. Set "Show FAQ Accordion" to Off (per-post or globally) while leaving "Generate FAQ Schema" On. The JSON-LD will still be injected in the `<head>` for Google to read, but visitors won't see the accordion.

= How do I clear cached CSS? =
Go to **Smart FAQ → Settings → Advanced** and click **Clear CSS Cache**. This is useful after changing colours or styles if the frontend doesn't update immediately.

= Can I use a custom JSON-LD schema template? =
Yes. Go to **Settings → Schema** and enable "Use custom schema template". You can paste any valid JSON-LD and use placeholders like `{{question}}`, `{{answer}}`, `{{page_url}}`, `{{page_title}}`, and `{{faq_block}}`.

= What post types are supported? =
By default, Posts and Pages. Go to **Settings → General → Post Types** to enable it for WooCommerce Products, custom post types, or any other public post type.

= Does it slow down my site? =
No. The dynamic CSS is cached with a WordPress transient (24 hours) and the frontend JavaScript is tiny with no jQuery dependency. Assets are only loaded on pages that have FAQs.

= Is it compatible with caching plugins? =
Yes. If you change colours/styles, click **Clear CSS Cache** in Settings → Advanced to bust the cached CSS and see the changes on the frontend.

== Screenshots ==

1. Styling tab — choose from 5 UI styles with a real-time live preview panel on the right
2. Frontend — FAQ accordion displayed on a live blog post (Classic Accordion style)
3. Post editor — Smart FAQ Schema meta box with collapsible FAQ rows, drag-to-reorder, and per-post options
4. Bulk FAQ Checker — 258 posts listed with ✔ FAQ Added / ✘ No FAQ status, count, schema and visibility columns
5. General settings tab — configure post types, display method (Auto-inject / Shortcode / Both), and section title
6. Advanced tab — CSS cache clear button and shortcode reference guide

== Changelog ==

= 1.1.5 =
* Dynamic CSS now output via wp_add_inline_style() instead of a raw <style> tag
* Admin live-preview style uses a registered wp_enqueue handle
* Custom schema placeholders JSON-escaped via wp_json_encode() to prevent broken JSON-LD
* Main plugin class renamed to SFAQ_Plugin for uniqueness
* Shortcode renamed from [smart_faq] to [sfaq] for uniqueness

= 1.1.4 =
* Renamed plugin folder to all-lowercase `smart-faq-schema` to satisfy WordPress.org text domain rules
* Fixed `textdomain_mismatch` and `textdomain_invalid_format` checker errors

= 1.1.3 =
* Fixed text domain to match plugin slug throughout all files
* Fixed unescaped output variables (phpcs compliance)
* Added `wp_unslash()` to all `$_GET` / `$_POST` reads
* Added translators comments for pluralised strings
* Created readme.txt

= 1.1.2 =
* Added `!important` to closed-panel `max-height` rules to defeat theme overrides of the phantom space bug

= 1.1.1 =
* Fixed Live Preview page reload — preview accordion buttons now carry `type="button"` so clicking them does not submit the settings form

= 1.1.0 =
* Added collapsible FAQ rows in the meta box with Collapse All / Expand All
* Added Elementor-style live preview panel in the Styling tab
* Added padding and gap controls for questions, answers, and item spacing
* Definitive fix for phantom empty space below closed FAQ questions

= 1.0.0 =
* Initial release

== Upgrade Notice ==

= 1.1.4 =
Folder renamed for WordPress.org compatibility. Re-activate the plugin after updating if you installed manually.
