Amirali YaghoutiSenior Software Engineer

woocommerce Case study

A2 Smart FAQ

Every watch PDP on the store carries an FAQ accordion answering what buyers actually ask: case size, movement type, water resistance, warranty coverage. I generate those answers from the product's own attribute data, so nobody on the team writes FAQ copy by hand.

The business problem

Our catalog is far too large for the content team to write buying guidance per product, so most PDPs answered nothing about water resistance or warranty terms unless the customer opened a support chat. The same practical questions kept landing on our operators, one conversation at a time.

What I delivered

  • An MU plugin, a2-smart-faq.php, that composes question-and-answer pairs from twelve product attribute taxonomies: brand, case size, movement, dial color, strap, water resistance, gender, style, brand origin, maker country and the warranty fields.
  • A selection routine (pick_5) that only asks questions the product's data can honestly answer; a watch without water-resistance data never shows a water-resistance question.
  • A mounting strategy with three targets in priority order: a .a2-pdp-accordion container, an existing Elementor accordion, then a fallback anchor printed under the product summary.
  • Inline CSS and JS printed once and only on product pages, so the module adds zero weight anywhere else.

Technical approach

  • The accordion ships as a hidden template element in wp_footer; a small script mounts it to the best available slot and retries through a MutationObserver, because Elementor builds parts of the PDP late.
  • The fallback anchor hooks woocommerce_after_single_product_summary, so the block still renders if the page-builder layout changes underneath it.
  • Answers are Persian sentence templates with attribute values slotted in, matching how our store talks to customers.
  • Attribute slugs live as class constants in one file, which makes retargeting the plugin to another catalog a constant edit rather than a rewrite.

Result and evidence

The plugin runs live across the store's product pages. I have not isolated its conversion effect, so the claim I can defend is operational: FAQ coverage went from manual and partial to automatic on every PDP that has usable attribute data.

Commercial value

This is content that scales with the catalog instead of with headcount. A new product gets buying guidance the moment its attributes are filled in.

implementation-brief.readme

Readable implementation brief

implementation_brief {
  project: "A2 Smart FAQ"
  file: "mu-plugins/a2-smart-faq.php (v1.0.3)"
  stack: "WordPress MU plugin, PHP, WooCommerce, vanilla JS"
  inputs: "12 attribute taxonomies (brand, case size, movement,
           dial, strap, water resistance, warranty, ...)"
  mount_order: ".a2-pdp-accordion -> Elementor accordion -> anchor"
  hooks: "woocommerce_after_single_product_summary, wp_footer"
  status: "live on all PDPs; conversion impact not isolated"
}

What this project shows

Beyond the feature itself, this project shows restraint with page builders. Rather than replacing the Elementor layout, the script cooperates with it and degrades to a plain anchor when the expected structure is missing.

That willingness to work inside an imperfect stack, and still ship something a store can keep running for years, is the habit I would want a reviewer to take from this page.