I’m working on bilingual website and for one of supported languages server throws HTTP 500 with following record in Nginx log:
2024/05/03 11:55:49 [error] 3493#3493: *16346 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught TypeError: implode(): Argument #1 ($pieces) must be of type array, string given in /var/www/DOMAIN/wordpress/wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php:153
Stack trace:
#0 /var/www/DOMAIN/wordpress/wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php(153): implode()
#1 /var/www/DOMAIN/wordpress/wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php(36): TRP_Ajax->output_translations()
#2 /var/www/DOMAIN/wordpress/wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php(186): TRP_Ajax->__construct()
#3 {main}
thrown in /var/www/DOMAIN/wordpress/wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php on line 153" while reading response header from upstream, client: 141.136.91.90, server: DOMAIN, request: "POST /wp-content/plugins/translatepress-multilingual/includes/trp-ajax.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php8.1-fpm.sock:", host: "DOMAIN", referrer: "https://DOMAIN/ru/cart/"
I’ve found similar issue described in https://wordpress.org/support/topic/trp-ajax-php-returns-500/, but the tip from there does not help.
Could anybody help with it? I suspect some string translation missing, but need to find out how to debug to proof it.