Title: 4WP FAQ
Author: 4WP.dev
Published: <strong>Mae 28, 2026</strong>
Last modified: Gwengolo 20, 2026

---

Search plugins

![](https://ps.w.org/4wp-faq/assets/banner-772x250.png?rev=3566302)

![](https://ps.w.org/4wp-faq/assets/icon-256x256.png?rev=3566302)

# 4WP FAQ

 By [4WP.dev](https://profiles.wordpress.org/4wpdev/)

[Download](https://downloads.wordpress.org/plugin/4wp-faq.2.6.1.zip)

 * [Details](https://bre.wordpress.org/plugins/4wp-faq/#description)
 * [Reviews](https://bre.wordpress.org/plugins/4wp-faq/#reviews)
 *  [Installation](https://bre.wordpress.org/plugins/4wp-faq/#installation)
 * [Development](https://bre.wordpress.org/plugins/4wp-faq/#developers)

 [Support](https://wordpress.org/support/plugin/4wp-faq/)

## Description

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** (scan of unique questions). Edit one record to push
   Q/A onto every **Used In** page. **Add FAQ** places a new item on category pages
   or one page. Site content stays the source of truth.
 * **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](https://4wp.dev/). **4WP** is our project brand; this plugin
is not affiliated with, endorsed, or sponsored by WordPress.

Source: [github.com/4wpdev/4wp-faq](https://github.com/4wpdev/4wp-faq)

#### How to work with it (short path)

 1. In the editor, add a core **Accordion** (or select an existing one).
 2. 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**.
 3. Put the **question** in the Accordion Item heading and the **answer** in the panel.
 4. Open **FAQ  Settings** and enable **FAQPage JSON-LD** if you want structured data
    on the front end.
 5. Optional: complete registry setup  **Rescan** (Dashboard or Settings)  place **
    4WP FAQ List** and **4WP FAQ Categories** on a hub page or template.
 6. 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.
 7. 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).
 8. 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.

 1. Complete registry setup so FAQ categories exist.
 2. Open **Settings  Connectors** and finish a connector for text generation.
 3. Under **FAQ  Settings  AI**, turn on **Allow predefined field markup**.
 4. 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.
 5. 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:

 1. `cd` into the plugin directory
 2. `npm install`
 3. `npm run build` — compiles block, admin, and setup apps into `build/`

### 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.

## Blocks

This plugin provides 5 blocks.

 *   4WP FAQ Count Live count of FAQ questions on this page: all, the current category
   URL, or the current search.
 *   4WP FAQ Categories FAQ category navigation: vertical or horizontal. Filters
   4WP FAQ List via the Interactivity API.
 *   4WP FAQ List Registry FAQ list: grouped by category or a single list, with 
   include/exclude.
 *   4WP FAQ FAQ wrapper for accordion items.
 *   4WP FAQ Card Single FAQ registry card: accordion or heading plus description,
   optional source links.

## Installation

 1. Upload to `/wp-content/plugins/4wp-faq/` or install from **Plugins  Add New**.
 2. Activate **4WP FAQ**.
 3. Add or convert Accordion blocks, then open **FAQ  Settings** for JSON-LD, registry,
    and optional AI options.
 4. After registry setup + Rescan, add **4WP FAQ List** and **4WP FAQ Categories** 
    on a page or template.
 5. Optional: configure **Settings  Connectors**, then enable **Allow predefined field
    markup** under **FAQ  Settings  AI**.

## FAQ

### Does this replace the Accordion block?

No. 4WP FAQ is a thin wrapper. Your theme and block styles stay the same. Accordion
stays Accordion—4WP FAQ adds schema, optional registry, and hub tools around it.

### How do I add a new FAQ question?

 1. Edit a page or post.
 2. Insert **Accordion** (or **4WP FAQ**, which starts with an Accordion).
 3. Click **Convert to FAQ** if you started from a plain Accordion.
 4. Or select one or more **Details** / **Accordion Item** blocks (or heading + paragraph
    pairs) and use **Transform to  4WP FAQ**.
 5. One Accordion Item = one question (heading) and one answer (panel).
 6. If you use the registry: open **FAQ  Dashboard** or **Settings** and run **Rescan
    registry** so the question appears under All FAQs.

There is no manual “Add New” registry editor. **FAQ  Add FAQ** is a short how-to
only.

### Is JSON-LD / FAQ schema enabled by default?

No. Structured data is opt-in so you control when Google sees FAQ markup.

 * Site-wide: **FAQ  Settings  FAQPage JSON-LD**
 * Per block: block sidebar  JSON-LD on front end (On / Off / inherit)

Schema is printed in the document **head** on singular pages that contain FAQ blocks.
The registry is **not** required for JSON-LD.

### How do I check that FAQ schema is working?

 1. Enable JSON-LD in Settings (or for the specific block).
 2. View the published page.
 3. Use [Google Rich Results Test](https://search.google.com/test/rich-results) or 
    view page source and search for `FAQPage`.

If Yoast SEO is active and outputs FAQ schema for the same content, 4WP FAQ skips
its own output to avoid duplicate FAQPage graphs.

### What is the FAQ registry?

An optional post type that **aggregates** unique questions found in your content
after a scan. Use it to:

 * Browse all questions in one place
 * See where a question is reused (“Used in”)
 * Build a public FAQ hub with List + Categories blocks

In-place FAQ blocks on product or landing pages keep working either way.

### How do I build an FAQ hub page?

 1. Complete registry setup and run **Rescan**.
 2. Create a page (for example `/faq/`).
 3. Add **4WP FAQ Categories** (nav) and **4WP FAQ List** (questions).
 4. Optionally add core **Search** and enable **Filter 4WP FAQ List** in that block’s
    sidebar.
 5. Optionally add **4WP FAQ Count**.

List and Categories share include/exclude filters so the nav and list stay aligned.

### What are pretty category URLs?

When **Pretty category URLs** is on in Settings **and** on the Categories block:

 * Category links become `/your-hub-page/term-slug/`
 * **On-page title:** category **Display title** (empty: category name) in core **
   Title** (`core/post-title`), **Query Title** (`core/query-title`), or **Term 
   Name** (`core/term-name`). The template chooses h1–h6. Heading blocks are not
   swapped.
 * **On-page description:** category **Description** in core **Excerpt** (`core/
   post-excerpt`) or **Term Description** (`core/term-description`)
 * Optional category **SEO title** / **SEO description** drive the document title
   and meta
 * **Canonical** / `og:url` is the category URL (`/hub/term-slug/`), not the hub
 * **SEO image** on the category is used for Open Graph / Twitter; empty uses the
   hub page image
 * The List does not repeat the category name as an H2 when the page title already
   shows it
 * JSON-LD on that URL is limited to that category

When off, category clicks filter the list **in place** and the page URL does not
change.

### How do category SEO titles work?

On each FAQ category term you can set **SEO title** and **SEO description**.

 * If **SEO title** is filled  the browser / document title uses that string **exactly**(
   no “ – site name” appended).
 * If it is empty  Display title + site name (WordPress default pattern).

See **FAQ  Settings  Documentation** for on-page title / description and document
title / meta rules.

### When should I Rescan?

After you add, edit, or remove FAQ blocks on published content. Rescan is available
on:

 * **FAQ  Dashboard** (Status widget)
 * **FAQ  Settings** (Rescan registry)

Scans also schedule automatically when relevant posts are saved.

### Why does wordpress.org show only one block?

Older packages registered List / Categories / Count from PHP only. From 2.2.0 each
public block declares `editorScript` (and styles where applicable) in its `block.
json` so the directory can discover them. Update to the latest ZIP if the listing
looks incomplete.

### How do I filter the FAQ list with Search?

Add a core **Search** block on the same page as **4WP FAQ List**. In the block sidebar:**
4WP FAQ  Filter 4WP FAQ List**. Typing filters cards in place and does not run a
site search.

### Does the plugin duplicate my FAQ text?

No for the front end of in-place blocks—the Accordion content you write is the source
of truth. The registry stores aggregated copies for listing and stats; answers still
come from scanned content, not a second public editor workflow.

### What happens if I reset setup?

You can choose new registry slugs in the wizard again, but FAQ **categories are 
removed**. Existing registry posts remain on the previous post type until you complete
setup and run a new scan.

### Does it work with Polylang?

Yes for registry categories during scan: terms follow the language of the page that
contains the FAQ block. WPML is not integrated yet.

### Can editors use the Dashboard?

Yes. **FAQ  Dashboard** is available to users who can edit posts. **Rescan** and**
Settings** require manage options (administrators).

### How does the AI Assistant work?

It uses the standard **WordPress AI Client**, not a separate 4WP AI plugin. Configure
a text-generation connector under **Settings  Connectors**. The **AI** card is always
visible under **FAQ  Settings**; you cannot enable **Allow predefined field markup**
until a connector is ready. On a FAQ category edit screen, **Generate with AI** 
proposes Description, Display title, SEO title, and SEO description. Apply writes
into the form; **Update** saves. Without a connector, Generate stays unavailable
on category screens.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“4WP FAQ” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ 4WP.dev ](https://profiles.wordpress.org/4wpdev/)
 *   [ Anatoliy Dovgun ](https://profiles.wordpress.org/anatolikkk/)

[Translate “4WP FAQ” into your language.](https://translate.wordpress.org/projects/wp-plugins/4wp-faq)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/4wp-faq/), check out
the [SVN repository](https://plugins.svn.wordpress.org/4wp-faq/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/4wp-faq/) by [RSS](https://plugins.trac.wordpress.org/log/4wp-faq/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.6.1

 * **4WP Drive** — register the FAQ wrap for import mapping: H2 FAQ section + H3
   Q&A become a `forwp/faq` accordion. Drive Patterns  Integrations Plugins lists
   this plugin when it is active. See [4WP Drive](https://wordpress.org/plugins/4wp-drive/).

#### 2.6.0

 * **Registry edit:** Update a FAQ record (title + answer) to write that item onto
   every **Used In** page. Renamed questions are found via the previous title.
 * **Add FAQ:** create a registry post; FAQ categories append the item to every 
   matching `forwp/faq` block; **One page** limits that to a single post/page that
   already has a FAQ block. Neither: registry-only until a scan drops it.
 * New answers copy the sibling accordion-item wrapper (heading + panel markup) 
   and fill in your text; the wrapped HTML is saved back on the registry record.
 * Site content stays the source of truth. Rescan / reinstall rebuilds the registry
   from pages.

#### 2.5.0

 * **AI Assistant:** generate FAQ category Description, Display title, SEO title,
   and SEO description via the standard WordPress AI Client (Settings  Connectors).
 * Settings  AI card is always visible; **Allow predefined field markup** stays 
   disabled until Connectors support text generation.
 * Docs: WordPress.org readme documents Connectors, FAQ, and External services.

#### 2.4.0

 * **FAQ Categories:** collapse nested terms by default (block inspector toggle).
   Visitors can expand/collapse parents; the choice is remembered in the browser.
   The branch for the current category stays open.
 * Pretty category URLs swap **Display title** into core Title / Query Title / Term
   Name, and **Description** into core Excerpt / Term Description. Heading level
   stays with the template.
 * Pretty category URLs: `<link rel="canonical">` and `og:url` point at `/hub/term-
   slug/` (not the hub). **SEO image** on the category is used for Open Graph / 
   Twitter; empty falls back to the hub page image. List group H2 is omitted when
   the page title already shows that category.

#### 2.3.0

 * Requires WordPress **6.6+** (Interactivity API for List / Categories hub).
 * Convert selected **Details**, **Accordion** / **Accordion Item**, heading+paragraph
   pairs, or a **List** to **4WP FAQ** via Transform to and the Convert to FAQ toolbar(
   one or many items).
 * Category SEO title: when filled, the document title is used as-is (no site-name
   suffix).
 * Admin **Dashboard** under the FAQ menu: status metrics, Rescan, hierarchical 
   By category (collapsible, inclusive counts), reused / uncategorized.
 * **FAQ Categories**: drag-and-drop term order applies in admin lists and on the
   front end (ensures `term_order` column when missing).
 * Settings: compact layout plus how H1 / document title / meta description are 
   built for category URLs.
 * Docs: hub blocks for page building and core Search  Filter 4WP FAQ List.
 * Add FAQ in admin is a short how-to (registry posts are created by scan, not by
   hand).
 * List/Card: Question / Answer typography on the Styles tab.

#### 2.2.0

 * Listing: declare `editorScript` / `style` in block.json for List, Categories,
   Count, and Card so wordpress.org discovers hub blocks (not only the FAQ wrapper).
 * Contributors: add `anatolikkk` (Anatoliy Dovgun) alongside `4wpdev`.
 * Add **4WP FAQ Count** block and `[forwp_faq_count]` shortcode.
 * Hub: per-category preview on All view, “View all” links, SEO/pretty category 
   URLs, category SEO title/description, drag-and-drop term order.
 * Card: optional “Used in” source links from registry usage meta.
 * Admin: preview-per-category and SEO URL settings; clearer JSON-LD help for hub
   pages.

#### 2.1.0

 * Add FSE registry hub blocks: **4WP FAQ List**, **4WP FAQ Card**, **4WP FAQ Categories**.
 * Shared include/exclude filters between List and Categories (Interactivity API).
 * Registry content helpers and front-end FAQ view script.

#### 2.0.3

 * Fix: FAQPage JSON-LD uses `<summary>` text as `Question.name` for core Details
   blocks (no longer duplicates the answer).
 * Fix: FAQPage JSON-LD outputs in `<head>` for reliable detection by validators
   and crawlers.
 * Add: `@id` and `url` on FAQPage schema.

#### 2.0.2

 * Maintenance release.

#### 2.0.1

 * Fix: incomplete plugin uploads no longer white-screen the site — missing PHP 
   files show an admin error and the plugin stops loading safely.
 * Deploy: ensure `includes/class-category-resolver.php` and other required files
   are present when updating from 2.0.0.

#### 2.0.0

 * Registry categories: none, existing, or create new per FAQ block (applied on 
   scan).
 * Categories can be managed in admin or derived from the pages where FAQ blocks
   are placed.
 * Polylang: language-aware FAQ categories during registry scan.
 * Block editor: default Accordion with one item on insert; **Add FAQ item** button.
 * WPML support planned for a future release.

#### 1.0.0

 * Initial release: `forwp/faq` wrapper, setup wizard, registry scan, JSON-LD, admin
   settings UI.

## Meta

 *  Version **2.6.1**
 *  Last updated **3 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.6 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/4wp-faq/)
 * Tags
 * [Accordion](https://bre.wordpress.org/plugins/tags/accordion/)[faq](https://bre.wordpress.org/plugins/tags/faq/)
   [gutenberg](https://bre.wordpress.org/plugins/tags/gutenberg/)[JSON-LD](https://bre.wordpress.org/plugins/tags/json-ld/)
   [seo](https://bre.wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://bre.wordpress.org/plugins/4wp-faq/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/4wp-faq/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/4wp-faq/reviews/)

## Contributors

 *   [ 4WP.dev ](https://profiles.wordpress.org/4wpdev/)
 *   [ Anatoliy Dovgun ](https://profiles.wordpress.org/anatolikkk/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/4wp-faq/)