• Resolved alx359

    (@alx359)


    When opening the customizer with the product catalog I get this fatal error:

    PHP Fatal error:  Uncaught TypeError: array_merge(): Argument #2 must be of type array, false given in D:\localwp\domain.com\app\public\wp-content\plugins\translate-words\includes\models\translatable\translatable-object.php:280
    Stack trace:
    #0 D:\localwp\domain.com\app\public\wp-content\plugins\translate-words\includes\models\translatable\translatable-object.php(280): array_merge(Array, false)
    #1 D:\localwp\domain.com\app\public\wp-content\plugins\translate-words\includes\models\translatable\translatable-object.php(372): Linguator\Includes\Models\Translatable\LMAT_Translatable_Object->get_object_terms(Array, 'lmat_term_langu...')
    #2 D:\localwp\domain.com\app\public\wp-content\plugins\translate-words\includes\models\translatable\translatable-object.php(231): Linguator\Includes\Models\Translatable\LMAT_Translatable_Object->get_object_term(18063, 'lmat_term_langu...')
    #3 D:\localwp\domain.com\app\public\wp-content\plugins\translate-words\includes\models\translated\translated-object.php(353): Linguator\Includes\Models\Translatable\LMAT_Translatable_Object->get_language(18063)
    #4 D:\localwp\domain.com\app\public\wp-content\plugins\translate-words\frontend\controllers\frontend-auto-translate.php(75): Linguator\Includes\Models\Translated\LMAT_Translated_Object->get(18063, Object(Linguator\Includes\Other\LMAT_Language))
    #5 D:\localwp\domain.com\app\public\wp-content\plugins\translate-words\frontend\controllers\frontend-auto-translate.php(302): Linguator\Frontend\Controllers\LMAT_Frontend_Auto_Translate->get_term(18063)
    #6 D:\localwp\domain.com\app\public\wp-content\plugins\translate-words\frontend\controllers\frontend-auto-translate.php(266): Linguator\Frontend\Controllers\LMAT_Frontend_Auto_Translate->get_translated_term_by('slug', 'blue', 'pa_color')
    #7 D:\localwp\domain.com\app\public\wp-content\plugins\translate-words\frontend\controllers\frontend-auto-translate.php(161): Linguator\Frontend\Controllers\LMAT_Frontend_Auto_Translate->translate_tax_query_recursive(Array)
    #8 D:\localwp\domain.com\app\public\wp-includes\class-wp-hook.php(341): Linguator\Frontend\Controllers\LMAT_Frontend_Auto_Translate->translate_included_ids_in_query(Object(WP_Query))
    #9 D:\localwp\domain.com\app\public\wp-includes\class-wp-hook.php(365): WP_Hook->apply_filters(NULL, Array)
    #10 D:\localwp\domain.com\app\public\wp-includes\plugin.php(570): WP_Hook->do_action(Array)
    #11 D:\localwp\domain.com\app\public\wp-includes\class-wp-query.php(1154): do_action_ref_array('parse_query', Array)
    #12 D:\localwp\domain.com\app\public\wp-includes\class-wp-query.php(1897): WP_Query->parse_query()
    #13 D:\localwp\domain.com\app\public\wp-includes\class-wp-query.php(3958): WP_Query->get_posts()
    #14 D:\localwp\domain.com\app\public\wp-includes\class-wp-query.php(4090): WP_Query->query(Array)
    #15 D:\localwp\domain.com\app\public\wp-content\plugins\woocolor\include\widget\widget.init.php(130): WP_Query->__construct(Array)
    #16 D:\localwp\domain.com\app\public\wp-includes\class-wp-widget.php(394): wooColorsFilterWidget->widget(Array, Array)
    #17 D:\localwp\domain.com\app\public\wp-includes\widgets.php(845): WP_Widget->display_callback(Array, Array)
    #18 D:\localwp\domain.com\app\public\wp-content\themes\flatsome\woocommerce\layouts\category-right-sidebar.php(107): dynamic_sidebar('shop-sidebar')
    #19 D:\localwp\domain.com\app\public\wp-includes\template.php(816): require('D:\\localwp\\evit...')
    #20 D:\localwp\domain.com\app\public\wp-content\plugins\woocommerce\includes\wc-core-functions.php(285): load_template('D:\\localwp\\evit...', false)
    #21 D:\localwp\domain.com\app\public\wp-content\themes\flatsome\woocommerce\archive-product.php(33): wc_get_template_part('layouts/categor...', 'right-sidebar')
    #22 D:\localwp\domain.com\app\public\wp-includes\template-loader.php(125): include('D:\\localwp\\evit...')
    #23 D:\localwp\domain.com\app\public\wp-blog-header.php(19): require_once('D:\\localwp\\evit...')
    #24 D:\localwp\domain.com\app\public\index.php(17): require('D:\\localwp\\evit...')
    #25 {main}
    thrown in D:\localwp\domain.com\app\public\wp-content\plugins\translate-words\includes\models\translatable\translatable-object.php on line 280

    casting to array term_ids in line 280 seems to workaround the issue:
    $all_term_ids = array_merge( $all_term_ids, (array) $term_ids );

    but then something else warns down the line when the same event occurs:

    PHP Notice: Function _get_non_cached_ids was called incorrectly. Object ID must be an integer, boolean given.

    Can see that $term_ids is an array most of the time, but don’t know why get_from_object_term_cache() sneaks in a false at some point.

Viewing 4 replies - 1 through 4 (of 4 total)
  • Thread Starter alx359

    (@alx359)

    Here’s what happens my end when the customizer finishes loading:

    [18-Jan-2026 09:14:25 UTC] 'object_ids='
    [18-Jan-2026 09:14:25 UTC] array (
    0 => 187,
    )
    [18-Jan-2026 09:14:25 UTC] 'taxonomy=lmat_term_language'
    [18-Jan-2026 09:14:25 UTC] 'cached_values='
    [18-Jan-2026 09:14:25 UTC] array (
    187 => false,
    )
    [18-Jan-2026 09:14:25 UTC] PHP Fatal error: Uncaught TypeError: array_merge(): Argument #2 must be of type array, false given in \plugins\translate-words\includes\models\translatable\translatable-object.php:285

    Hi @alx359,

    Hi, thanks for reporting this and for the detailed explanation.

    We’ve noted the issue with $term_ids sometimes returning false when the Customizer loads the product catalog. We’ll reproduce and verify this on our end to understand why this happens and check for a safe fix.

    We’ll update you soon once we have more clarity.
    Thanks for your patience.

    Hi @alx359,

    Thanks for sharing the detailed error log — that really helps.

    I’ve checked the stack trace, and from what I can see, the issue is triggered when the WooColor plugin runs a WP_Query. In this case, it appears to be passing unexpected data, which results in array_merge() receiving false instead of an array and causes the fatal error.

    To help narrow this down, could you please try the following steps:

    1. Deactivate the WooColor plugin temporarily.
    2. Open the product catalog/customizer again and check if the error still occurs.
    3. If possible, switch to a default WordPress theme (like Storefront or Twenty Twenty-Four) and test once more.

    Also, please let us know:

    • Where you downloaded the WooColor plugin from, or
    • If it’s a custom-built plugin.

    This will help us better understand the compatibility issue and guide you with a proper fix.

    Looking forward to your update.

    Best regards,
    Aniket Dogra

    Hi @alx359,

    Thank you for your patience.

    We’ve identified the issue and fixed it in the latest version of our plugin v2.0.6.
    Please update the plugin to this version and try again.

    After updating, kindly check if the issue still occurs. If you continue to face the same problem, feel free to let us know — we’ll be happy to look into it further.

    Looking forward to your update.

    Best regards,
    Aniket Dogra

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

You must be logged in to reply to this topic.