I was updating a site with WPML, which is a WordPress plugin that allows translating content between different languages, and I received the following error:
Unknown column ‘translation_priority’ in ‘field_list’
Well that doesn’t sound good
I tried dismissing it, and it kept coming back! Uh oh. So I had to dig further. I checked Google, of course, and found a few recent references to the same error in the WPML forums, and the people there (not so) helpfully acted like there was no issue or that the affected customers should delete all data and reinstall.
While this very may well work, t’s not really an option with a live site with tons of info, is it?
Check the wp_icl_strings table
I checked the wp_icl_strings table to make sure the translation_priority column was there, and it was. By the way, you should check to make sure it’s actually there, although I’ve personally inspected code within the WPML plugin that will add this column if it doesn’t exist, so it probably really does exist even if you’re getting this error.
WPML errors are not being dismissed
The way WPML errors work, is it records the error in the wp_options table. When you load an admin page, it checks to see if there are any errors that have not been dismissed. However, it appears that WPML is not correctly recording that you’ve seen or dismissed an error.
Put another way, when I was click that x button next to the error, WPML didn’t update the database to record that I had already seen it and that it shouldn’t be shown again.
A fix, if you dare
The next part is not for the faint of heart, and you can really mess up your WordPress site so please backup beforehand! You’ll be working with serialized data, which you normally should not edit. Buuuut if you’re really careful, you can try this.
Go to the wp_options table and find the wpml_notices key. Copy the data to a text file and search for the “unknown column” text. Carefully – carefully! – delete the string – you want to go from the s: part to the ending semicolon.
On mine, I deleted this string – note how it starts with s: and ends with a semicolon:
s:297:”<p>We have detected a problem with some tables in the database. Please contact <a href=”https://wpml.org/forums/forum/english-support/” class=”otgs-external-link” rel=”noopener” target=”_blank”>WPML support</a> to get this fixed.</p><pre>Unknown column ‘translation_priority’ in ‘field list'</pre>”;
Copy that back to the wpml_notices key, reload your admin site, and that error – which should already have been dismissed – should now be gone!
Please let me know if you run into this same error or need any help in resolving it. Good luck!
- How To: Use SendPulse to Create a Personalized Coupon in WooCommerce - March 1, 2019
- SendPulse Support! New for Urgency Coupons for Mailing Lists - March 1, 2019
- Why We Created WP License Agent - December 11, 2018