• antonzlo

    (@antonzlo)




    [24-Jun-2026 16:21:58 UTC] PHP Fatal error:  Uncaught DateMalformedStringException: Failed to parse time string (950) at position 0 (9): Unexpected character in /var/www/html/wp-content/plugins/product-expiry-for-woocommerce/includes/helpers.php:125
    Stack trace:
    #0 /var/www/html/wp-content/plugins/product-expiry-for-woocommerce/includes/helpers.php(125): DateTime->__construct('950', Object(DateTimeZone))
    #1 /var/www/html/wp-content/plugins/product-expiry-for-woocommerce/includes/helpers.php(144): woope_get_expiry_timestamp(6618, '950')
    #2 /var/www/html/wp-content/plugins/product-expiry-for-woocommerce/includes/class-frontend.php(113): woope_expiry_has_passed(6618, '950')
    #3 /var/www/html/wp-content/plugins/product-expiry-for-woocommerce/includes/class-frontend.php(180): WOOPE\Frontend->apply_expiry_visibility('Expiry Date: ', 6618, '950')
    #4 /var/www/html/wp-includes/class-wp-hook.php(343): WOOPE\Frontend->variation_data(Array)
    #5 /var/www/html/wp-includes/plugin.php(205): WP_Hook->apply_filters(Array, Array)
    #6 /var/www/html/wp-content/plugins/woocommerce/includes/class-wc-product-variable.php(422): apply_filters('woocommerce_ava...', Array, Object(WC_Product_Variable), Object(WC_Product_Variation))
    #7 /var/www/html/wp-content/plugins/woocommerce/includes/class-wc-product-variable.php(360): WC_Product_Variable->get_available_variation(Object(WC_Product_Variation))
    #8 /var/www/html/wp-content/plugins/woocommerce-gateway-stripe/includes/payment-methods/class-wc-stripe-express-checkout-helper.php(888): WC_Product_Variable->get_available_variations()
    #9 /var/www/html/wp-content/plugins/woocommerce-gateway-stripe/includes/payment-methods/class-wc-stripe-express-checkout-helper.php(766): WC_Stripe_Express_Checkout_Helper->compute_should_show_express_checkout_button()
    #10 /var/www/html/wp-content/plugins/woocommerce-gateway-stripe/includes/class-wc-stripe-blocks-support.php(229): WC_Stripe_Express_Checkout_Helper->should_show_express_checkout_button()
    #11 /var/www/html/wp-content/plugins/woocommerce-gateway-stripe/includes/class-wc-stripe-blocks-support.php(200): WC_Stripe_Blocks_Support->should_show_express_checkout_button()
    #12 /var/www/html/wp-content/plugins/woocommerce/src/Blocks/Payments/PaymentMethodRegistry.php(62): WC_Stripe_Blocks_Support->get_payment_method_data()
    #13 /var/www/html/wp-content/plugins/woocommerce/src/Blocks/Payments/Api.php(92): Automattic\WooCommerce\Blocks\Payments\PaymentMethodRegistry->get_all_registered_script_data()
    #14 /var/www/html/wp-includes/class-wp-hook.php(341): Automattic\WooCommerce\Blocks\Payments\Api->add_payment_method_script_data('')
    #15 /var/www/html/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters('', Array)
    #16 /var/www/html/wp-includes/plugin.php(522): WP_Hook->do_action(Array)
    #17 /var/www/html/wp-content/plugins/woocommerce/src/Blocks/BlockTypes/MiniCart.php(287): do_action('woocommerce_blo...')
    #18 /var/www/html/wp-content/plugins/woocommerce/src/Blocks/BlockTypes/AbstractBlock.php(407): Automattic\WooCommerce\Blocks\BlockTypes\MiniCart->enqueue_data(Array)
    #19 /var/www/html/wp-content/plugins/woocommerce/src/Blocks/BlockTypes/AbstractBlock.php(96): Automattic\WooCommerce\Blocks\BlockTypes\AbstractBlock->enqueue_assets(Array, '', Object(WP_Block))
    #20 /var/www/html/wp-includes/class-wp-block.php(596): Automattic\WooCommerce\Blocks\BlockTypes\AbstractBlock->render_callback(Array, '', Object(WP_Block))
    #21 /var/www/html/wp-includes/class-wp-block.php(576): WP_Block->render()
    #22 /var/www/html/wp-includes/class-wp-block.php(576): WP_Block->render()
    #23 /var/www/html/wp-includes/blocks.php(2438): WP_Block->render()
    #24 /var/www/html/wp-includes/blocks.php(2521): render_block(Array)
    #25 /var/www/html/wp-includes/blocks/template-part.php(156): do_blocks('<!-- wp:group {...')
    #26 /var/www/html/wp-content/plugins/woocommerce/src/Blocks/BlockTemplatesController.php(83): render_block_core_template_part(Array)
    #27 /var/www/html/wp-includes/class-wp-block.php(596): Automattic\WooCommerce\Blocks\BlockTemplatesController->render_woocommerce_template_part(Array, '', Object(WP_Block))
    #28 /var/www/html/wp-includes/blocks.php(2438): WP_Block->render()
    #29 /var/www/html/wp-includes/blocks.php(2521): render_block(Array)
    #30 /var/www/html/wp-includes/block-template.php(294): do_blocks('<!-- wp:templat...')
    #31 /var/www/html/wp-includes/template-canvas.php(12): get_the_block_template_html()
    #32 /var/www/html/wp-includes/template-loader.php(132): include('/var/www/html/w...')
    #33 /var/www/html/wp-blog-header.php(19): require_once('/var/www/html/w...')
    #34 /var/www/html/index.php(17): require('/var/www/html/w...')
    #35 {main}
     thrown in /var/www/html/wp-content/plugins/product-expiry-for-woocommerce/includes/helpers.php on line 125

    version 3.3, wordpress 7.0, woocommerce 10.8.1 

Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Support Arfa Ahmad

    (@juli3t)

    Hi,

    Thanks for reporting this issue, we’re looking into it and will update you soon.

    Regards

    Plugin Support Arfa Ahmad

    (@juli3t)

    From the stack trace, it appears that one of the products or variations has an invalid expiry date value stored in its metadata. The plugin expects dates in YYYY-MM-DD format, but the affected product is returning a value of 950, which causes PHP to fail when attempting to parse it.

    Could you please check the expiry date configured for product/variation ID 6618 and verify that it contains a valid date? If possible, please also let me know whether the product data was imported or modified by another plugin.

    We’ll also improve the plugin so that invalid values are handled gracefully and do not result in a fatal error.


    Thanks

Viewing 2 replies - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.