Directory / plugin
4WP FAQ
v2.6.5 ยท by 4WP.dev
FAQ schema for the core Accordion. Scan every question on your site into one registry, edit once, and build a searchable FAQ hub.
About this plugin
Not another FAQ block. 4WP FAQ wraps the core Accordion you already use, adds FAQPage JSON-LD, and turns every question on your site into one registry you can reuse, update everywhere, and show as a searchable hub. Your design stays the same.
๐ Live demo, docs and comparison: 4wp.dev/plugin/4wp-faq
๐ฌ Real hub with 296 questions in 9 categories: 4wp.dev/faqs
Why 4WP FAQ
- Built on core. A thin wrapper over the core Accordion. No new design, no lock-in: unwrap any time and the Accordion stays.
- The only FAQ plugin that scans. Questions live on your pages. A scan collects them into one registry. You never type a question twice.
- Edit once, update everywhere. Change a question in the registry and 4WP FAQ writes it onto every page listed in Used in.
- SEO hub for free. List, Categories, Search and Count blocks, pretty category URLs, category SEO titles, canonical and Open Graph. No Pro tier.
- AI without a vendor. Category copy through the standard WordPress AI Client (Connectors). No custom SDK, no API keys in the plugin.
What you get
- FAQPage JSON-LD โ structured data for search engines and AI answers. Opt-in, site-wide or per block. Skips its own output when Yoast already prints FAQ schema.
- Convert to FAQ โ one click on an Accordion, or Transform to 4WP FAQ from Details, heading + paragraph pairs or a List.
- FAQ registry โ every unique question with Used in sources, categories and a Dashboard. Add FAQ places a new question on every page of a category, or on one page.
- FSE hub โ 4WP FAQ List, Categories, Count and core Search with in-place filtering (Interactivity API). Nested categories, drag-and-drop order.
- Polylang โ categories follow the page language; the Dashboard shows figures per language.
- 4WP Drive โ an H2 FAQ section with H3 questions in a Google Doc becomes a 4WP FAQ block on import.
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 ยท More plugins: 4wp.dev/plugins
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: FAQ Add FAQ โ question, answer, FAQ categories (every matching FAQ block) and/or one page. No place chosen: the row is registry-only until a scan drops it.
- Optional: edit a registry FAQ and Update โ the plugin writes that item onto every Used In page (question match uses the previous title if you renamed it).
- 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.
The registry is a helper. Accordion items on pages are the source of truth. A scan rebuilds the CPT from the site. New answers reuse the markup wrapper of a sibling accordion item on that page.
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 โ scan, Used In, edit-to-push, Add FAQ onto category pages or one page
- 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.