This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| - | 8:00 – 13:00 | 9:00 – 13:00 | 9:00 – 13:00 | 8:00 – 12:00 | 8:00 – 12:00 | - |
| - | 14:00 – 17:00 | 14:00 – 18:00 | 14:00 – 18:00 | 13:00 – 17:00 | 13:00 – 17:00 | - |
Supporter timezone: Europe/Zagreb (GMT+01:00)
Tagged: Bug
This topic contains 4 replies, has 0 voices.
Last updated by Bruno Kos 4 weeks ago.
Assisted by: Bruno Kos.
| Author | Posts |
|---|---|
| November 11, 2025 at 3:56 pm | |
|
jasonK-12 |
Background of the issue: Symptoms: Fatal error: Uncaught TypeError: strlen(): Argument #1 ($string) must be of type string, array given in /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/wpml-string-translation/classes/filters/strings-filter/class-wpml-register-string-filter.php:193 Stack trace: #0 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/wpml-string-translation/classes/filters/strings-filter/class-wpml-register-string-filter.php(170): WPML_Register_String_Filter->save_string(Array, false, 'en', 'gutenberg-1059', '', 'ce56e2b4776ab77...') #1 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/wpml-string-translation/inc/functions.php(210): WPML_Register_String_Filter->register_string('', 'ce56e2b4776ab77...', Array, false, 'en') #2 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/wpml-string-translation/inc/package-translation/inc/wpml-package.class.php(314): icl_register_string('gutenberg-1059', 'ce56e2b4776ab77...', Array, false, 'en') #3 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/wpml-string-translation/inc/package-translation/inc/wpml-package-translation-helper.class.php(556): WPML_Package->get_string_id_from_package('ce56e2b4776ab77...', Array) #4 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/wpml-string-translation/inc/package-translation/inc/wpml-package-translation-helper.class.php(199): WPML_Package_Helper->get_string_id_from_package(Object(WPML_Package), 'ce56e2b4776ab77...', Array) #5 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/wpml-string-translation/inc/package-translation/inc/wpml-package-translation-helper.class.php(161): WPML_Package_Helper->register_string_with_wpml(Object(WPML_Package), 'ce56e2b4776ab77...', 'acf-tabs-conten...', 'array', Array) #6 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/wpml-string-translation/inc/package-translation/inc/wpml-package-translation-helper.class.php(90): WPML_Package_Helper->register_string_for_translation(Array, 'ce56e2b4776ab77...', Object(WPML_Package), 'acf-tabs-conten...', 'array') #7 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-includes/class-wp-hook.php(324): WPML_Package_Helper->register_string_action(Array, 'ce56e2b4776ab77...', Array, 'acf-tabs-conten...', 'array') #8 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters('', Array) #9 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #10 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Integrations/Gutenberg/class-wpml-gutenberg-strings-registration.php(141): do_action('wpml_register_s...', Array, 'ce56e2b4776ab77...', Array, 'acf-tabs-conten...', 'array') #11 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Integrations/Gutenberg/class-wpml-gutenberg-strings-registration.php(168): WPML_Gutenberg_Strings_Registration->register_blocks(Array, Array, 1059, Array) #12 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Integrations/Gutenberg/class-wpml-gutenberg-strings-registration.php(63): WPML_Gutenberg_Strings_Registration->register_blocks(Array, Array, 1059) #13 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Integrations/Gutenberg/class-wpml-gutenberg-integration.php(68): WPML_Gutenberg_Strings_Registration->register_strings(Object(WP_Post), Array) #14 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-includes/class-wp-hook.php(324): WPML_Gutenberg_Integration->register_strings(Object(WP_Post), Array) #15 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters('', Array) #16 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #17 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Shared/st/strategy/api-hooks/class-wpml-pb-api-hooks-strategy.php(18): do_action('wpml_page_build...', Object(WP_Post), Array) #18 [internal function]: WPML_PB_API_Hooks_Strategy->register_strings(Object(WP_Post)) #19 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Invoker/Invoker.php(41): call_user_func_array(Array, Array) #20 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Fns.php(162): WPMLFPInvoker_Invoker->__invoke(Object(WPML_PB_API_Hooks_Strategy)) #21 [internal function]: WPMLFPFns::WPMLFP{closure}(Object(WPMLFPInvoker_Invoker), Object(WPML_PB_API_Hooks_Strategy), 0) #22 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php(154): call_user_func_array(Object(Closure), Array) #23 [internal function]: WPMLFP{closure}(Object(WPML_PB_API_Hooks_Strategy), 0) #24 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Fns.php(151): array_map(Object(Closure), Array, Array) #25 [internal function]: WPMLFPFns::WPMLFP{closure}(Object(Closure), Array) #26 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php(154): call_user_func_array(Object(Closure), Array) #27 [internal function]: WPMLFPFns::WPMLFP{closure}(Object(Closure), Array) #28 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/collect/src/Illuminate/Support/Traits/Macroable.php(56): call_user_func_array(Object(Closure), Array) #29 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Fns.php(156): WPMLFPFns::__callStatic('map', Array) #30 [internal function]: WPMLFPFns::WPMLFP{closure}(Object(WPMLFPInvoker_Invoker), Array) #31 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php(154): call_user_func_array(Object(Closure), Array) #32 [internal function]: WPMLFPFns::WPMLFP{closure}(Object(WPMLFPInvoker_Invoker), Array) #33 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/collect/src/Illuminate/Support/Traits/Macroable.php(56): call_user_func_array(Object(Closure), Array) #34 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Shared/st/class-wpml-pb-integration.php(363): WPMLFPFns::__callStatic('each', Array) #35 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/addons/wpml-page-builders/classes/Shared/st/class-wpml-pb-integration.php(256): WPML_PB_Integration->with_strategies(Object(WPMLFPInvoker_Invoker)) #36 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-includes/class-wp-hook.php(324): WPML_PB_Integration->register_all_strings_for_translation(Object(WP_Post)) #37 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters('', Array) #38 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #39 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/classes/translation-jobs/class-wpml-element-translation-package.php(189): do_action('wpml_pb_registe...', Object(WP_Post)) #40 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/inc/translation-management/translation-management.class.php(1269): WPML_Element_Translation_Package->do_action_before_creating_translation_package(Object(WP_Post)) #41 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/classes/class-wpml-translation-job-factory.php(113): TranslationManagement->send_jobs(Object(WPML_TM_Translation_Batch), 'post', 1) #42 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/classes/jobs/Manual.php(164): WPML_Translation_Job_Factory->create_local_job('1059', 'es', NULL, 'post_experience', 1, 'en') #43 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/classes/jobs/Manual.php(43): WPMLTMJobsManual->createLocalJob('1059', 'en', 'es', 'post_experience') #44 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Either.php(207): WPMLTMJobsManual->createOrReuse(Array) #45 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/classes/editor/Editor.php(103): WPMLFPRight->map(Array) #46 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/sitepress-multilingual-cms/classes/menu/translation-queue/class-wpml-translations-queue.php(52): WPMLTMEditorEditor->open(Array) #47 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-includes/class-wp-hook.php(324): WPML_Translations_Queue->load(Object(WP_Screen)) #48 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #49 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #50 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-admin/includes/class-wp-screen.php(424): do_action('current_screen', Object(WP_Screen)) #51 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-admin/includes/screen.php(243): WP_Screen->set_current_screen() #52 /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-admin/admin.php(213): set_current_screen() #53 {main} thrown in /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/wpml-string-translation/classes/filters/strings-filter/class-wpml-register-string-filter.php on line 193 Warning: Array to string conversion in /Users/nathanfarleigh/Local Sites/casa-de-campo-development/app/public/wp-content/plugins/acfml/classes/class-wpml-acf-blocks.php on line 164 Questions: I will can give you access to a clone of the site that your colleague Noman already has access. |
| November 11, 2025 at 5:30 pm #17567926 | |
|
jasonK-12 |
I have fixed your plugin to work with nested acf fields |
| November 11, 2025 at 5:32 pm #17567936 | |
|
jasonK-12 |
This is the code I have replaced and now its not critical erroring. <?php class WPML_ACF_Blocks implements \IWPML_Backend_Action, \IWPML_Frontend_Action, \IWPML_DIC_Action { /** /** /** /** if ( $this->is_acf_block( $block ) && isset( $block->attrs['data'] ) ) { if ( ! is_array( $block->attrs['data'] ) ) { foreach ( $block->attrs['data'] as $field_name => $text ) { if ( $this->must_skip( $field_name, $text ) ) { // Recursively process arrays to extract string values return $strings; /** // Skip arrays - they should be processed recursively $type = $this->get_text_type( $text ); return $strings; /** return (object) array( /** /** /** if ( isset( $string_translations[ $string_hash ][ $lang ]['status'] ) return $block; /** /** /** /** /** /** /** /** } |
| November 12, 2025 at 8:36 am #17569313 | |
|
Bruno Kos WPML Supporter since 12/2018
Languages: English (English ) German (Deutsch ) French (Français ) Timezone: Europe/Zagreb (GMT+01:00) |
Thank you very much for the detailed update and for sharing the custom code solution! I've forwarded this to our 2nd tier development team so they can review your changes and evaluate them for inclusion in a future ACFML release. I’ll keep you posted as soon as I hear back from them. |
| November 12, 2025 at 12:26 pm #17570527 | |
|
Bruno Kos WPML Supporter since 12/2018
Languages: English (English ) German (Deutsch ) French (Français ) Timezone: Europe/Zagreb (GMT+01:00) |
I’ve linked it to an existing issue and shared your code with our developers. They’ll review it and we’ll update you once there’s progress. |

