Skip to content Skip to sidebar

This thread is resolved. Here is a description of the problem and solution.

Problem:
The client was experiencing database errors indicating a missing table 'nsln.wqepy_icl_mo_files_domains' after exporting and importing their website. Additionally, there was a PHP notice about translation loading for the 'wp-grid-builder' domain being triggered too early.
Solution:
We recommended checking a related support forum post for a potential solution. After confirming the issue persisted, we requested and received access credentials to the site, ensuring the client had a full site backup. We then added the missing table, resolving the issue. The steps to add the table included installing the Adminer plugin, exporting the SQL code for the missing table from a test site, and running the SQL command on the client's site with the correct database prefix.

If this solution does not resolve your issue, or if it seems outdated or irrelevant to your case, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If further assistance is needed, please do not hesitate to open a new support ticket at WPML support forum.

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.

Tagged: 

This topic contains 11 replies, has 1 voice.

Last updated by Carlos Rojas 1 month, 4 weeks ago.

Assisted by: Carlos Rojas.

Author Posts
May 25, 2025 at 5:03 pm #17070281

andreM-12

Background of the issue:
I recently exported and imported the website using wpallimport/wpallexport. I am trying to resolve database errors that appear in the debug.log. I find these messages in the debug.log: [25-May-2025 16:29:31 UTC] WordPress database error Table 'nsln.wqepy_icl_mo_files_domains' doesn't exist for query SELECT file_path, domain FROM wqepy_icl_mo_files_domains WHERE domain IN ('default','bricks','acf','installer','bricks-advanced-themer','wp-all-import-pro','wp_all_import_user_add_on','wpml-string-translation','sitepress','wpml-translation-management','wpml-import','acfml','WPML','automatic-css','bricksextras','wpai-acf-add-on','wpai-user-add-on','wpml-all-import','sitepress-multilingual-cms','wp-seo-multilingual','easy-code-manager','WordPress','wpml','slick-gallery-migration','gutenberg-2360','sirsc','kadence-blocks-pro','kadence-blocks','gutenberg-12912','acf-field-group-0','gutenberg-13493','gutenberg-13339','gutenberg-13274','gutenberg-13461','gutenberg-13290','gutenberg-13270','gutenberg-13323','gutenberg-13453','wp-grid-builder','post-type-switcher','slick-slider','term-management-tools','wpgb-bricks','bricksed','scorg','meta-box','gutenberg-11935','gutenberg-11955') AND file_path REGEXP '((/|-)en_US(.|-))+' made by require('wp-admin/admin-ajax.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('plugins_loaded'), WP_Hook->do_action, WP_Hook->apply_filters, WPML_ST_Initialize->run, WPML_ST_Initialize->loadEarlyHooks, WPMLSTTranslationFileHooks->install, WPML_Action_Filter_Loader->load, WPML_Action_Filter_Loader->load_factory_or_action, WPML_Action_Filter_Loader->load_factory, WPML_Action_Filter_Loader->run_factory, WPMLSTMOHooksPreloadThemeMoFile->add_hooks, WPMLSTMOHooksPreloadThemeMoFile->getMOFilesByDomainsAndLocale [25-May-2025 16:29:31 UTC] PHP Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the <code>wp-grid-builder</code> domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the <code>init</code> action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /Users/andre/Herd/nsln/wp-includes/functions.php on line 6121. Link to a page where the issue can be seen:

Symptoms:
WordPress database error indicating a missing table 'wqepy_icl_mo_files_domains'. PHP Notice about translation loading for 'wp-grid-builder' domain being triggered too early.

Questions:
Can the cause of the error be in not having migrated the .mo or .po files?

May 25, 2025 at 7:26 pm #17070474

andreM-12

I wasn't able to find the issue.. would be great if someone could help..

May 26, 2025 at 10:32 am #17072570

Carlos Rojas
WPML Supporter since 03/2017

Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

Hello,
Thank you for contacting us

Before one of my colleagues continues with this ticket I kindly ask you to apply the solution described in this message: https://wpml.org/forums/topic/problem-with-tables-in-the-database-needed-to-report-to-support/#post-14371621 and double-check if the issue disappeared.

Please let us know if you need further assistance.

May 26, 2025 at 11:34 am #17072983

andreM-12

I added the code to functions.php but still get those errors:
[26-May-2025 11:31:40 UTC] WordPress database error Table 'nsln.wqepy_icl_mo_files_domains' doesn't exist for query
SELECT file_path, domain
FROM wqepy_icl_mo_files_domains
WHERE domain IN ('default','bricks','acf','installer','bricks-advanced-themer','wp-all-import-pro','wp_all_import_user_add_on','wpml-string-translation','sitepress','wpml-translation-management','wpml-import','acfml','WPML','automatic-css','bricksextras','wpai-acf-add-on','wpai-user-add-on','wpml-all-import','sitepress-multilingual-cms','wp-seo-multilingual','easy-code-manager','WordPress','wpml','slick-gallery-migration','gutenberg-2360','sirsc','kadence-blocks-pro','kadence-blocks','gutenberg-12912','acf-field-group-0','gutenberg-13493','gutenberg-13339','gutenberg-13274','gutenberg-13461','gutenberg-13290','gutenberg-13270','gutenberg-13323','gutenberg-13453','wp-grid-builder','post-type-switcher','slick-slider','term-management-tools','wpgb-bricks','bricksed','scorg','meta-box','gutenberg-11935','gutenberg-11955','advanced-database-cleaner') AND file_path REGEXP '((\\/|-)de_DE(\\.|-))+'
made by require('index.php'), require('wp-blog-header.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('plugins_loaded'), WP_Hook->do_action, WP_Hook->apply_filters, WPML_ST_Initialize->run, WPML_ST_Initialize->loadEarlyHooks, WPML\ST\TranslationFile\Hooks->install, WPML_Action_Filter_Loader->load, WPML_Action_Filter_Loader->load_factory_or_action, WPML_Action_Filter_Loader->load_factory, WPML_Action_Filter_Loader->run_factory, WPML\ST\MO\Hooks\PreloadThemeMoFile->add_hooks, WPML\ST\MO\Hooks\PreloadThemeMoFile->getMOFilesByDomainsAndLocale
[26-May-2025 11:31:40 UTC] WordPress database error Table 'nsln.wqepy_icl_mo_files_domains' doesn't exist for query SELECT * FROM wqepy_icl_mo_files_domains made by require('index.php'), require('wp-blog-header.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('plugins_loaded'), WP_Hook->do_action, WP_Hook->apply_filters, {closure}, load_textdomain, apply_filters('override_load_textdomain'), WP_Hook->apply_filters, WPML_ST_Translations_File_Registration->cached_save_mo_file_info, WPML_ST_Translations_File_Registration->save_file_info, WPML_ST_Translations_File_Registration->register_single_file, WPML_ST_Translations_File_Dictionary->find_file_info_by_path, WPML_ST_Translations_File_Dictionary_Storage_Table->find, WPML_ST_Translations_File_Dictionary_Storage_Table->load_data
[26-May-2025 11:31:40 UTC] WordPress database error Table 'nsln.wqepy_icl_mo_files_domains' doesn't exist for query INSERT IGNORE INTO wqepy_icl_mo_files_domains ( file_path, file_path_md5, domain, status, num_of_strings, last_modified, component_type, component_id ) VALUES ( 'wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/wpml/languages/wpml-fr_FR.mo', '48b380dc499d69cb5e7a25c4c11fdf03', 'wpml', 'not_imported', 0, 1745927691, 'plugin', 'sitepress-multilingual-cms/sitepress.php' ) made by shutdown_action_hook, do_action('shutdown'), WP_Hook->do_action, WP_Hook->apply_filters, WPML_ST_Translations_File_Dictionary_Storage_Table->persist

May 26, 2025 at 12:10 pm #17073181

Carlos Rojas
WPML Supporter since 03/2017

Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

Thank you for your feedback.

Please share the access credentials to the site in your next message, which I have set private.

Confirm you created a full site backup that you can restore if necessary.

May 27, 2025 at 8:07 am #17076157

andreM-12

Oh, sooorry I forgot to delete the index.html.. Site should be visible now: hidden link

May 27, 2025 at 9:05 am #17076640

Carlos Rojas
WPML Supporter since 03/2017

Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

Thank you for sharing the information requested.

I added the missing table, and now the issue has disappeared.

Can you confirm that the problem is solved?

May 27, 2025 at 9:19 am #17076750

andreM-12

Thanks so much Carlos! I'm sorry bother you with one more question:
Could you tell me how you added the missing table? I would like to add the code to my local setup..

May 27, 2025 at 9:31 am #17076785

Carlos Rojas
WPML Supporter since 03/2017

Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

Hey, I'm happy to hear that the issue was solved 🙂

I can't share the code here, but here are the steps I followed:
- I installed WPML in a fresh WordPress installation (a test site)
- Then installed the Adminer plugin: https://wordpress.org/plugins/pexlechris-adminer/
- Once the plugin was active, I went to Tools -> Database Adminer -> Click on the button to open the database
- On the top of the left column, you will find a few options, including the 'export' one -> In that option, I selected the missing table and got the code to create it.
- Once I got the SQL code to create the table, I installed Adminer on your site, and instead of exporting, I used the 'SQL command' option to run the SQL (I made sure to adjust the database prefix to match your site's DB prefix), and the table was created.

We are here to help. If you need any assistance, don't hesitate to contact us!

May 27, 2025 at 3:07 pm #17079417

andreM-12

Hi Carlos

Oh no, now I find this error message in my debug.log:

WordPress database error Table 'admin_nsl.gVc7u.wqepy_icl_string_packages' doesn't exist for query SELECT SQL_CALC_FOUND_ROWS jobs.job_id, jobs.translator_id, jobs.job_id, jobs.batch_id, jobs.element_type_prefix FROM (SELECT s.translator_id,
j.job_id,
IF(p.post_type IS NOT NULL, 'post', 'package') AS element_type_prefix,
p.post_type AS post_type,
s.batch_id
FROM wqepy_icl_translation_status s
JOIN wqepy_icl_translations t
ON t.translation_id = s.translation_id
JOIN wqepy_icl_translate_job j
ON j.rid = s.rid
AND j.revision IS NULL
JOIN wqepy_icl_translations o
ON o.trid = t.trid
AND o.language_code = t.source_language_code
JOIN (SELECT ID, post_type FROM wqepy_posts
UNION ALL
SELECT ID, NULL as post_type FROM wqepy_icl_string_packages) p
ON o.element_id = p.ID
AND ( o.element_type = CONCAT('post_', p.post_type) OR p.post_type IS NULL )
JOIN wqepy_icl_translate tr_rows
ON tr_rows.job_id = j.job_id
AND tr_rows.field_type = 'original_id'
AND tr_rows.field_data = o.element_id
WHERE s.status NOT IN ( 0, 42 ) AND s.status <> 9 AND (p.post_type IS NULL OR p.post_type IN ('post','page','attachment','wp_block','wp_template','wp_template_part','wp_navigation','kadence_form','kadence_navigation','kadence_header','kadence_query_card','newsletter','nsl-projekt','professur','projekt' )) AND j.deadline_date IS NOT NULL AND s.status IN (1,2) AND j.deadline_date < '2025-05-27' AND j.deadline_date <> '0000-00-00 00:00:00'
UNION ALL
SELECT st.translator_id,
st.id AS job_id,
'string' AS element_type_prefix,
NULL AS post_type,
st.batch_id
FROM wqepy_icl_string_translations st
JOIN wqepy_icl_strings s
ON s.id = st.string_id
WHERE 1 = 0) jobs
INNER JOIN wqepy_icl_translation_batches b
ON b.id = jobs.batch_id
ORDER BY jobs.batch_id DESC, jobs.element_type_prefix, jobs.job_id DESC made by do_action_ref_array('wpml-tm-check-overdue-jobs-event'), WP_Hook->do_action, WP_Hook->apply_filters, WPML_TM_Jobs_Deadline_Cron_Hooks->send_overdue_email_report, WPML_TM_Overdue_Jobs_Report->send, WPML_TM_Overdue_Jobs_Report->get_overdue_jobs_by_manager_id, WPML_Translation_Jobs_Collection->get_jobs, WPML_Translation_Jobs_Collection->get_jobs_in_db

Is it possible that 'nsln.wqepy_icl_string_packages' are now 'nsln.wqepy_icl_string_batches'?

May 28, 2025 at 8:20 am #17081881

Carlos Rojas
WPML Supporter since 03/2017

Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

Hey there,
Because the ticket was set as resolved the credentials you shared were automatically removed for security reasons. I have set your next message private so you can share the credentials again and this time I will create a video for you describing step-by-step how to solve this type of problems 🙂

May 28, 2025 at 9:21 am #17082340

Carlos Rojas
WPML Supporter since 03/2017

Languages: English (English ) Spanish (Español )

Timezone: Europe/Madrid (GMT+02:00)

Thanks!

I created this video for you: hidden link, where you can see one way to create missing WPML tables in the database.

Please let me know if you need further assistance.