You've already forked wc-tier-and-package-prices
Release version 1.2.5 - Parent product default pricing and UI enhancements
Added: - Parent product default pricing for variable products - set tier/package pricing once on parent, variations inherit unless overridden - Hide empty table headers in admin until pricing rules are defined Technical: - Added parent fallback logic to get_tier_price() and get_package_price() methods - Created helper methods get_packages_with_fallback() and is_restriction_enabled() in cart class - Updated all cart methods to support parent product defaults - Added CSS :has() selectors to hide table headers when tbody is empty - Fixed cart pricing calls to pass correct product ID for fallback resolution 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -133,6 +133,11 @@ if (!class_exists('WC_TPP_Frontend')) {
|
||||
$effective_id = $variation_id > 0 ? $variation_id : $product_id;
|
||||
$tiers = get_post_meta($effective_id, '_wc_tpp_tiers', true);
|
||||
|
||||
// Fall back to parent pricing if variation doesn't have its own pricing
|
||||
if ((empty($tiers) || !is_array($tiers)) && $variation_id > 0) {
|
||||
$tiers = get_post_meta($product_id, '_wc_tpp_tiers', true);
|
||||
}
|
||||
|
||||
if (empty($tiers) || !is_array($tiers)) {
|
||||
return null;
|
||||
}
|
||||
@@ -159,6 +164,11 @@ if (!class_exists('WC_TPP_Frontend')) {
|
||||
$effective_id = $variation_id > 0 ? $variation_id : $product_id;
|
||||
$packages = get_post_meta($effective_id, '_wc_tpp_packages', true);
|
||||
|
||||
// Fall back to parent pricing if variation doesn't have its own pricing
|
||||
if ((empty($packages) || !is_array($packages)) && $variation_id > 0) {
|
||||
$packages = get_post_meta($product_id, '_wc_tpp_packages', true);
|
||||
}
|
||||
|
||||
if (empty($packages) || !is_array($packages)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user