Codeinwp / Codeinwp/woocommerce-product-addon

Add Quick Start onboarding wizard for first-time PPOM setup

Open
#552 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

large new feature
Dominant language
PHP
Stars
15
Forks
9
Avg merge
3d 17h
Merged PRs (30d)
16

Description

Problem

Evaluators report "Clearer instructions," "I cannot do it," "it should be a simple task." The admin UX requires navigating to a separate PPOM menu, creating a field group, then separately assigning it — these steps aren't connected. Quick-churn users (<1hr) never figure this out.

Solution

New PPOM_Onboarding class that hooks into ppom_before_field_groups_list:

  1. Detects first visit (no non-demo field groups in nm_personalized table)
  2. Shows inline 3-step wizard: choose field type, name the field, assign to product
  3. AJAX handler creates the field group and assigns it
  4. "Skip" button dismisses permanently via ppom_onboarding_dismissed option

Files Affected

  • New: classes/onboarding.class.php — wizard class
  • classes/admin.class.php — add ppom_before_field_groups_list action hook
  • woocommerce-product-addon.php — require + instantiate

Acceptance Criteria

  • Wizard appears on first visit to PPOM admin (no field groups)
  • 3-step flow creates a working field group assigned to a product
  • Wizard disappears after first group is created
  • "Skip" button permanently dismisses
  • AJAX nonce and capability checks present

Priority: Medium — reduces evaluator churn
Regression risk: Isolated — new admin UI

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading classes/admin.class.php and woocommerce-product-addon.php to understand the existing field-group list hook and loading path, then inspect the new classes/onboarding.class.php entry point. Done means the first-visit wizard completes all three steps, creates and assigns a field group, disappears afterward, and supports permanent dismissal with nonce and capability checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, web-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.