
4WP FAQ wraps WordPress core Accordion blocks so you can keep your design and still get:
- FAQPage JSON-LD for Google rich results (off by default; turn on when you are ready)
- An optional FAQ registry that aggregates questions across the site after a scan
- Hub pages with List + Categories blocks, pretty category URLs, category SEO titles, collapsible subcategory nav, and drag-and-drop category order (admin + front end)
- Drag-and-drop FAQ category order on FAQ Categories — same order in admin lists and on the front end (List / Categories hub)
- Optional AI category copy through the standard WordPress AI Client (Settings Connectors) — description, display title, SEO title, and SEO description. No custom vendor SDK.
A plugin by 4wp.dev. 4WP is our project brand; this plugin is not affiliated with, endorsed, or sponsored by WordPress.
Source: github.com/4wpdev/4wp-faq
How to work with it (short path)
- In the editor, add a core Accordion (or select an existing one).
- Click Convert to FAQ in the block toolbar (or insert the 4WP FAQ block). You can also select existing Details, Accordion, or heading + paragraph blocks and use Transform to 4WP FAQ.
- Put the question in the Accordion Item heading and the answer in the panel.
- Open FAQ Settings and enable FAQPage JSON-LD if you want structured data on the front end.
- Optional: complete registry setup Rescan (Dashboard or Settings) place 4WP FAQ List and 4WP FAQ Categories on a hub page or template.
- Optional: configure Settings Connectors, then FAQ Settings AI to allow field markup. On FAQ Categories, edit a term and Generate with AI. Apply writes into the form; Update still saves.
Registry posts are created by the scan. Do not create them by hand under “Add New”.
Blocks
- 4WP FAQ (
forwp/faq) — wrap Accordion / Accordion Item for JSON-LD and registry scan - 4WP FAQ List (
forwp/faq-list) — registry glossary: grouped or flat, include/exclude categories - 4WP FAQ Categories (
forwp/faq-categories) — category nav that filters the List; nested terms collapse by default - 4WP FAQ Count (
forwp/faq-count) — live count for All / category / search ([forwp_faq_count]) - 4WP FAQ Card (
forwp/faq-card) — inner card for the List (not in the inserter)
Key features
- Wrap Accordion / Accordion Item (legacy Details still supported)
- FAQPage JSON-LD in the document head — site-wide toggle plus per-block override
- Optional FAQ registry CPT with scan and “Used in” source links
- FAQ categories — manage in admin, assign per block, or create on scan from the page
- Admin Dashboard — status metrics, Rescan, hierarchical categories, reused / uncategorized
- FSE hub blocks — List, Categories, Count, Card
- Categories nav: nested terms collapse by default; visitors expand them and the browser remembers
- Preview count per category on the All view + optional pretty category URLs (
/hub-page/term-slug/) - Category SEO title / description / image fields; filled SEO title is used as-is (no site-name suffix); pretty URLs use a category canonical
- Drag-and-drop category order on FAQ FAQ Categories — same order in admin lists, Dashboard, and front-end List / Categories blocks
- Polylang — categories follow the language of the page that owns the FAQ block
- Setup wizard for registry post type and taxonomy slugs
- Convert to FAQ toolbar and Transform to 4WP FAQ (Accordion, Details, List, heading + paragraph — one or many); default Accordion template on insert
- AI Assistant — WordPress AI Client / Connectors; Generate with AI on FAQ category edit (description + titles + meta). Settings AI is always visible; markup stays off until a connector is available and Allow predefined field markup is on
AI Assistant
Generation uses the WordPress AI Client. Configure a text-generation connector under Settings Connectors. FAQ Settings always shows an AI card; Allow predefined field markup stays disabled until a connector is available.
- Complete registry setup so FAQ categories exist.
- Open Settings Connectors and finish a connector for text generation.
- Under FAQ Settings AI, turn on Allow predefined field markup.
- Edit a category on FAQ Categories. Generate with AI fills Description, Display title, SEO title, and SEO description from the category name and questions in that term.
- Review, Apply (or Apply all), then Update. Nothing is saved until you update the term.
The plugin does not ship API keys and does not call a model until a connector is configured. Which remote service receives the prompt depends on the connector the administrator selected.
Development
JavaScript and CSS are built with @wordpress/scripts. Human-readable source (src/, webpack.config.js, package.json) is in the public GitHub repository — not in the distributed ZIP.
From a clone:
cdinto the plugin directorynpm installnpm run build— compiles block, admin, and setup apps intobuild/
External services
This plugin optionally sends prompts through the WordPress AI Client when an administrator configures a connector under Settings Connectors and runs Generate with AI on a FAQ category.
WordPress AI Client / Connectors (optional)
The plugin sends a prompt (site name, category name, question titles in that category, and current field values) through wp_ai_client_prompt(). The WordPress AI Client routes that prompt to the connector the administrator selected. This plugin does not call model vendors directly; which remote service receives the prompt depends on that connector. No visitor or front-end user data is sent. Nothing is generated until a connector is configured and Allow predefined field markup is on.