Conversation
supportThe plugin was throwing an fatal error for us on order pages: [09-Jul-2025 15:42:06 UTC] PHP Fatal error: Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?array, string given in /home/headwate/public_html/wp-content/plugins/ woocommerce-checkout-manager/lib/controller/class-order.php:341 Stack trace: #0 /home/headwate/public_html/wp-content/plugins/woocommerce-checkout-manager/lib/controller/class-order.php(341): implode(',', 'processing') #1 /home/headwate/public_html/wp-includes/class-wp-hook.php(326): QuadLayers\WOOCCM\Controller\Order->upload_os(Array) #2 /home/headwate/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters(Array, Array) #3 /home/headwate/public_html/wp-includes/option.php(217): apply_filters('default_option_...', Array, 'wooccm_order_up...', true) #4 /home/headwate/public_html/wp-content/plugins/woocommerce-checkout-manager/lib/controller/class-order.php(153): get_option('wooccm_order_up...', Array) #5 /home/headwate/public_html/wp-includes/class-wp-hook.php(324): QuadLayers\WOOCCM\Controller\Order->add_upload_files(38329) #6 /home/headwate/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #7 /home/headwate/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #8 /home/headwate/public_html/wp-content/plugins/woocommerce/templates/checkout/thankyou.php(82): do_action('woocommerce_tha...', 38329) ... The issue appears to be we only had one selection made (“processing”) for the “Add for this order status” setting on the Order settings page. This apparently caused the setting to be stored as a string instead of an array in the options table. So when it is used in the implode() call in the line in question it throws the fatal error. We hotfixed it by converting the string to array at line 341: public function upload_os( $value ) { $options = get_option( 'wccs_settings' ); if ( ! empty( $options['checkness']['upload_os'] ) ) { $upload_os_option = $options['checkness']['upload_os']; if ( ! is_array( $upload_os_option ) ) { $upload_os_option = [ $upload_os_option ]; } return (array) @implode( ',', $upload_os_option ); } return $value; } ... PHP: 8.2 WordPress: 6.8.1 WooCommerce: 9.9.5 WooCommerce Checkout Manager: 7.7.1 Cheers, Sean
@weaselnerd Hello mate, we inform you that the issue you were experiencing is resolved. Could you please update to the latest versions? Best regards, Quadlayers Support Team.
Thanks for the update!
@weaselnerd Hello mate, we inform you that the issue you were experiencing is resolved. Could you please update to the latest versions? Best regards, Quadlayers Support Team.
Thanks for the update!