Plugin Author
Chouby
(@chouby)
What is lost? Languages (stored as taxonomies)? Polylang settings (stored as ‘polylang’ option)?
Thread Starter
Tigr
(@tigr)
Hi! Sorry for the delays…
The option and taxonomies are there:
mysql> select * from t_options where option_name="polylang";
| option_id | option_name | option_value | autoload |
| 199 | polylang | a:14:{s:7:"browser";i:1;s:7:"rewrite";i:1;s:12:"hide_default";i:0;s:10:"force_lang";i:0;s:13:"redirect_lang";i:0;s:13:"media_support";i:0;s:4:"sync";a:0:{}s:10:"post_types";a:0:{}s:10:"taxonomies";a:0:{}s:7:"domains";a:1:{s:2:"ru";s:0:"";}s:7:"version";s:5:"1.4.1";s:12:"default_lang";s:2:"en";s:7:"widgets";a:6:{s:10:"polylang-2";s:1:"0";s:10:"nav_menu-2";s:2:"en";s:10:"nav_menu-3";s:2:"ru";s:6:"text-2";s:2:"en";s:6:"text-3";s:2:"ru";s:8:"search-2";s:1:"0";}s:9:"nav_menus";a:1:{s:13:"publish-tigra";a:1:{s:7:"primary";a:2:{s:2:"en";i:531;s:2:"ru";i:532;}}}} | yes |
mysql> select term_taxonomy_id,term_id,taxonomy,parent,description,count from t_term_taxonomy where taxonomy="language";
+------------------+---------+----------+--------+---------------------------------------------------+-------+
| term_taxonomy_id | term_id | taxonomy | parent | description | count |
+------------------+---------+----------+--------+---------------------------------------------------+-------+
| 2 | 2 | language | 0 | a:2:{s:6:"locale";s:5:"en_US";s:3:"rtl";s:1:"0";} | 165 |
| 4 | 4 | language | 0 | a:2:{s:6:"locale";s:5:"ru_RU";s:3:"rtl";s:1:"0";} | 94 |
+------------------+---------+----------+--------+---------------------------------------------------+-------+
So the data seems to be there but the site behaves like if polylang was not configured. The polylang settings page also shows an empty list of languages. Any ideas? Could names of the tables be stored somewhere (table prefix has been changed)?
Tigr
Plugin Author
Chouby
(@chouby)
Polylang now caches some data in a transient. Maybe it’s what interferes.
Try deleting the ‘_transient_pll_languages_list’ entry in wp_options
Thread Starter
Tigr
(@tigr)
Yes, ok, that helps but only for a single page load. As soon as wordpress is called, that transient is back in the table and polylang is broken again.
mysql> select * from t_options where option_name="_transient_pll_languages_list";
| option_id | option_name | option_value | autoload |
| 3748 | _transient_pll_languages_list | a:2:{i:0;O:12:"PLL_Language":17:{s:7:"term_id";i:2;s:4:"name";s:7:"English";s:4:"slug";s:2:"en";s:10:"term_group";s:2:"10";s:16:"term_taxonomy_id";i:2;s:8:"taxonomy";s:8:"language";s:11:"description";s:5:"en_US";s:6:"parent";s:1:"0";s:5:"count";i:165;s:10:"tl_term_id";i:3;s:19:"tl_term_taxonomy_id";i:3;s:8:"tl_count";i:504;s:6:"locale";R:9;s:6:"is_rtl";s:1:"0";s:5:"mo_id";s:1:"6";s:10:"search_url";s:21:"https://127.0.0.5/en/";s:8:"home_url";s:21:"https://127.0.0.5/en/";}i:1;O:12:"PLL_Language":17:{s:7:"term_id";i:4;s:4:"name";s:14:"Русский";s:4:"slug";s:2:"ru";s:10:"term_group";s:2:"20";s:16:"term_taxonomy_id";i:4;s:8:"taxonomy";s:8:"language";s:11:"description";s:5:"ru_RU";s:6:"parent";s:1:"0";s:5:"count";i:94;s:10:"tl_term_id";i:5;s:19:"tl_term_taxonomy_id";i:5;s:8:"tl_count";i:116;s:6:"locale";R:26;s:6:"is_rtl";s:1:"0";s:5:"mo_id";s:1:"7";s:10:"search_url";s:21:"https://127.0.0.5/ru/";s:8:"home_url";s:21:"https://127.0.0.5/ru/";}} | yes |
Plugin Author
Chouby
(@chouby)
That’s expected that the transient is built again if you delete it.
Everything looks ok in the data stored. So Polylang should now build the languages list from this data and should be able to display it in the languages table. I don’t understand how something could interfere.
Maybe yo can try the debug mode to check if there are any errors.
Yo can replace
define('WP_DEBUG', false);
by
define('WP_DEBUG', true);
define('SCRIPT_DEBUG', true);
define('WP_DEBUG_LOG', true);
ini_set('display_errors','Off');
in wp-config.php
This will log errors to wp-content/debug.log if there are any.