• Release version 1.1.19 - Enhanced duplicate detection

    magdev released this 2025-12-22 22:33:12 +00:00 | 63 commits to main since this release

    Fixed persistent duplicate settings page by improving duplicate detection
    to check by class type and ID instead of strict instance comparison.

    Issue:

    • Strict instance comparison (===) failed to detect duplicates
    • Different object instances of same class not caught by previous check
    • Settings page still appearing twice despite singleton and instance caching

    Solution:

    • Changed duplicate detection from instance comparison to type/ID checks
    • Added instanceof WC_TPP_Settings check
    • Added get_id() method check for ID 'tier_package_prices'
    • Added direct id property check as fallback
    • Multiple layers of detection to catch duplicates regardless of how created

    Fixes:

    • Settings page rendering twice in WooCommerce backend
    • Duplicate detection failing for different instances of same class

    Changes:

    • Enhanced add_settings_page() with multi-layer duplicate detection
    • Checks: instanceof, get_id(), and id property
    • Returns early if any existing page matches criteria

    Technical Details:

    • Strict comparison only works if exact same object instance
    • Different instances (even of same class/ID) fail === check
    • instanceof checks class type regardless of which instance
    • ID checks ensure no duplicate pages with same identifier
    • Fallback checks handle different WooCommerce versions/implementations

    Updated Files:

    • includes/class-wc-tpp-admin.php (enhanced duplicate detection)
    • wc-tier-and-package-prices.php (version 1.1.19)
    • composer.json (version 1.1.19)
    • CHANGELOG.md (v1.1.19 section)

    🤖 Generated with Claude Code

    Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com

    Downloads