=== Catalog FAQ === Tags: faq, accordion, woocommerce, gutenberg, elementor Requires at least: 6.6 Tested up to: 7.1 Requires PHP: 8.2 Stable tag: 1.1.2 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Publish reusable FAQs on pages and products with groups, blocks, shortcodes, and WooCommerce assignments. == Description == Reuse rich answers and ordered groups on pages and products. Shared edits update fresh supported placements; cached pages may need refreshing. Free includes: * Guided setup, native editing, answer revisions and a reusable library without paid quotas. * Ordered groups, FAQ topics and keyboard-accessible selection. * Page and product-context blocks, shortcodes and WooCommerce product FAQ tabs. * Direct product, category/tag and store-wide group assignments. * Accordion, cards and list layouts, inline search, question links and expand/collapse controls. * Authenticated previews, versioned JSON/CSV exchange and reviewed ZIP bundles. * Optional Elementor widgets and local page-cache integrations. * Read-only migration from Easy Accordion FREE 3.1.10 classic custom-content accordions; other sources and existing placements need manual work. Page FAQs need neither WooCommerce nor Elementor. Product tools need WooCommerce; widgets need Elementor. ZIP bundles need PHP zip; JSON/CSV does not. Dependencies are not installed automatically. Optional Catalog FAQ PRO is distributed outside WordPress.org. It contains rules, exceptions, simulations, coverage, bulk execution and activity tools. Free publishing requires no vendor account, payment or licence key. == External services == Catalog FAQ has no vendor API, telemetry endpoint, payment API, remote licence check or external update server. Its PHP, JavaScript, CSS and icons are local. It uses WordPress-provided editor libraries. Product and GPL licence-information links are ordinary links, not background API requests. = Content you choose to embed = External media is optional. Adding an external embed URL to an answer can cause WordPress's oEmbed system to contact that URL's host and its discovered or registered provider when the answer is edited, previewed or rendered. This can occur for an unpublished draft. The provider receives the media URL and server request information, including the server IP address and WordPress HTTP user agent; URLs can contain information you put in them. A failed or subsequently filtered embed can still have caused a provider request. Do not put secrets or private signed URLs in an answer. An allowed player, image, audio or video URL in the resulting answer can also make the viewer's browser contact that host. The host receives the resource URL, viewer IP address, browser information and any referrer/cookies the browser permits. Provider assets, cookies or analytics are separate from this plugin's own behavior. This plugin does not implement a visitor media-consent banner or a click-to-load blocker. Use local media or ordinary links if external loading is unwanted, or configure your site's consent system before publishing remote media. The renderer permits HTTPS player iframes only for these services: * [YouTube](https://www.youtube.com/) (www.youtube.com and www.youtube-nocookie.com): selected video playback. [Terms](https://www.youtube.com/static?template=terms) and [Privacy](https://policies.google.com/privacy). * [Vimeo](https://vimeo.com/) (player.vimeo.com): selected video playback. [Terms](https://vimeo.com/legal/) and [Privacy](https://vimeo.com/legal/privacy). * [Dailymotion](https://www.dailymotion.com/) (www.dailymotion.com): selected video playback. [Terms](https://legal.dailymotion.com/en/terms-of-use/) and [Privacy](https://legal.dailymotion.com/en/privacy-policy/). The iframe allowlist is an output filter, not a list of every server request: WordPress oEmbed discovery and author-selected media can use other hosts. The host/provider depends on the URL you or an importer select, and site extensions can change WordPress providers. Review that provider's terms and privacy notice before adding its URL. See [WordPress embeds](https://wordpress.org/documentation/article/embeds/). No provider key or provider registration is needed for ordinary local FAQ publishing. == APIs and local integrations == Your local WordPress REST API handles choices, previews, cache status and jobs (catalog-faq/v1), and FAQ/topic editing (wp/v2). Requests contain IDs, searches, settings, drafts or commands, protected by cookie authentication, nonces and management/object permissions. Import/export and settings use local admin-post.php with action nonces. These are not vendor services. WooCommerce, WordPress blocks/posts/meta/options/cron, Elementor and cache-plugin hooks run locally. Cache adapters do not call CDN/vendor purge APIs. WordPress, hosting and other plugins have their own behavior. == Privacy and stored data == The plugin itself does not collect visitor analytics, read customer/order records or send site data to its vendor. This does not prevent author-selected media from contacting its provider as described above. WordPress stores content/revisions, topics, groups, assignments, settings, per-user setup/help choices and private import/index/job records. These can include actor IDs, site origin, mappings and before/after content. Authorized exports download selected content/configuration to the administrator; exports and backups need separate protection. Finished job journals become cleanup candidates after 90 days by default and only after their revert window expires. Unfinished jobs, retained import plans and content can remain. Cleanup is bounded and depends on WordPress scheduled tasks running; expiry is not a guaranteed deletion time. Content export is not a personal-data export of all operational history. Deactivation and default uninstall preserve data. An administrator may enable deletion under Import / export after reviewing the inventory. That cleanup deletes the listed Free content/configuration and shared job records; it does not erase all WordPress user metadata, original source-plugin records, existing page content, backups or Pro-specific configuration. Remove remaining administrative traces separately when needed. Uninstall stops Free's scheduled tasks. == Installation == 1. Upload catalog-faq.zip using Plugins > Add New > Upload Plugin, or place its catalog-faq folder in wp-content/plugins. 2. Activate Catalog FAQ. 3. Follow Catalog FAQ > Start here, or open FAQ library and Groups. 4. Place a Catalog FAQ block or generated [ctlgfaq_faq] shortcode. On WooCommerce sites, choose product/category/tag/default assignments. Back up and test updates on staging. Update Free first, then Pro, without uninstalling. Pro 1.1.2 requires Free 1.1.2 or newer with core API 2; older Pro versions cannot run on API 2. Install the matching pair manually. Only Free belongs in WordPress.org. == Frequently Asked Questions == = Can I use Free indefinitely? = Yes. Its included publishing tools do not expire and are not unlocked by payment. Technical request/batch limits are not paid library quotas. = What happens when Pro is disabled? = Free content and assignments remain. Pro rules and exceptions stop applying: hidden questions can return, local wording returns to shared wording, and rule-only answers can disappear. Review Pro's deactivation comparison first. Bulk execution pauses, and revert requires compatible Pro to be reactivated within the original 30-day window. Stored journals are retained; reactivation does not reset their deadline. = How does assignment inheritance work? = Direct groups are followed by direct category memberships, tags, then global defaults. Questions are deduplicated. Parent categories do not assign to descendants. A separate FAQ does not replace an inherited one; reorganize assignments or use Pro exceptions. = Which themes and editors are supported? = Use product-context blocks or supported classic tabs; test your theme/builder on staging. Unsupported answer blocks are retained and reported, but not rendered. = Can I move content? = Use JSON/CSV or ordered ZIP bundles. CSV columns are record_type, record_uuid and data_json. Review unique-SKU/explicit product mappings, protected/scheduled content and unresolved references before importing. Easy Accordion migration does not rewrite source shortcodes. = Why can pages still show old wording? = Display & help > Page cache shows status and retry. Tested: WP Super Cache 3.1.4 and W3 Total Cache 2.10.7 local disk caching. Handle host/CDN/browser/multisite caches separately. Object caches are not flushed; rebuilding may slow subsequent requests. = Does it generate answers or guarantee search results? = No. It publishes your answers without FAQPage structured data or ranking, rich-result, traffic or revenue promises. == Source and licence == Readable PHP, JavaScript and CSS are included; no compilation is required. GPLv2 or later; see LICENSE.txt. The Free installer excludes the website, tests and Pro code. == Changelog == = 1.1.2 = * Move specialized bulk assignment, answer and conditional revert handlers into the separate Pro add-on; retain generic Free jobs, imports and data. * Use core API 2 and matching Free 1.1.2 for the corrected Pro interface. Preserve old journals and the original revert deadline. * Set the publisher Author URI to https://plugins.shop/. = 0.2.3 = * Move bulk execution and conditional revert into the separate Pro add-on. * Keep Free imports, indexing and shared job storage on core API 2. * Retain existing journals; compatible Pro is required to resume or revert bulk work. = 0.2.2 = * Validate bundle commands and upload metadata; reject unsupported action shapes. * Bound usage summaries without full matching-row counts and preserve the continuation notice. * Document required SQL, core hooks and read-only filters. = 0.2.1 = * Protect private FAQ/topic REST access and document external media, local APIs and retained data. = 0.2.0 = * Reviewed imports/ZIP bundles, searchable selection and retained workflows. == Upgrade Notice == = 1.1.2 = Back up first. Replace Free first, then matching Pro without uninstalling. Existing canonical-folder installations need no folder migration. Saved data is retained. = 0.2.3 = Update Free first, then Pro 0.2.3, without uninstalling. Content and journals are retained. Bulk resume/revert needs compatible Pro; existing revert deadlines do not restart.