Codeinwp / Codeinwp/woocommerce-product-addon

Add compatibility for YITH WooCommerce Subscription sign-up fees during cart price calculation

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

Nobody has claimed this yet.

customer report feature-request-triage
Dominant language
PHP
Stars
15
Forks
9
Avg merge
3d 17h
Merged PRs (30d)
16

Description

Impact: 75 · Confidence: 90 · Complexity: 65

Description

Problem

When PPOM is active on a subscription product that uses YITH WooCommerce Subscription plugin, PPOM's late cart line-price calculation overrides or ignores the sign-up fee added by YITH. As a result, the sign-up fee fails to apply or calculate on cart items containing PPOM field groups.

Desired Behavior

PPOM's cart pricing engine should detect and preserve YITH Subscription sign-up fees and subscription pricing callbacks when calculating the cart item line price, allowing store owners to use PPOM product options on YITH subscription products.

Acceptance Criteria
  • PPOM price calculation engine respects and includes YITH Subscription sign-up fees in the cart item total.
  • Cart line prices and recurring subscription subtotals are calculated accurately when both PPOM options and YITH sign-up fees are present on a product.
  • Removing PPOM fields or deactivating PPOM is no longer required as a workaround for YITH subscription products.

Customer Context

The customer (Laura) is using PPOM alongside YITH WooCommerce Subscriptions. Following an update, sign-up fees ceased working on subscription products where PPOM field groups were attached. YITH support investigated and confirmed that the sign-up fee works as expected when PPOM is disabled. Themeisle support confirmed that PPOM's late cart line-price calculation overrides or bypasses pricing callbacks for YITH sign-up fees.

Root Cause Analysis

The root cause is a third-party plugin integration gap in PPOM's cart repricing logic. PPOM executes its price calculation and set_price() logic on cart items containing PPOM fields after standard pricing callbacks, without accounting for YITH WooCommerce Subscription sign-up fee hooks. As a result, YITH's sign-up fee adjustments are overwritten or ignored during cart total calculation when PPOM options are present on the product.

Reasoning

The customer is reporting a plugin compatibility issue where YITH WooCommerce Subscription sign-up fees fail to calculate or apply correctly on cart items when PPOM (Personalized Product Option Manager) is active. The staff response explains that PPOM's cart repricing runs late in the execution flow and recalculates product prices on cart items containing PPOM fields without preserving/supporting YITH subscription pricing callbacks and sign-up fees. A search of GitHub issues shows that while there are subscription-related issues (e.g., #715 regarding WooCommerce Subscriptions sign-up fee duplication), there is no existing GitHub issue for YITH WooCommerce Subscriptions / sign-up fee compatibility in Codeinwp/woocommerce-product-addon. Therefore, this is a distinct, filable new feature / integration request to support YITH subscription sign-up fee pricing compatibility.


Source: HelpScout #3456199894
Generated by feature-request-triage workflow (ID: feature-request-triage_6aaea3ff55ea14.50474359)

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 locating PPOM's late cart line-price calculation and its set_price() handling, then trace how YITH subscription pricing callbacks and sign-up fees enter the cart total. Confirm the interaction on subscription products with PPOM fields. Done means sign-up fees and recurring subtotals remain accurate without disabling PPOM.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, wordpress
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.