Обзор проблемы
Если Вы используете расширение WPGraphQL, Вы заметите, что для уже переведенных метаданных автора, таких как имена, запросы WPGraphQL продолжают возвращать данные на языке по умолчанию.
Обходное решение
Эта проблема исправлена в WPML GraphQL 1.1.3. Обновление решает эту проблему на Вашем сайте, поэтому это обходное решение понадобится Вам, только если Вы пока не можете выполнить обновление.
Пожалуйста, перед продолжением убедитесь, что у Вас есть полная резервная копия сайта.
- Откройте файл …/wp-content/plugins/wp-graphql/src/Model/User.php.
- Найдите строку 191.
- Замените:
'firstName' => function () { return ! empty( $this->data->first_name ) ? $this->data->first_name : null; }, - На:
'firstName' => function () { // WPML Workaround for compsupp-7323 if ( class_exists('SitePress') ) { $post_language_details = apply_filters( 'wpml_post_language_details', NULL, $this->global_post->ID ) ; $this->data->first_name = apply_filters('wpml_translate_single_string', $this->data->first_name , 'Authors', 'first_name_'.$this->data->ID); } return ! empty( $this->data->first_name ) ? $this->data->first_name : null; },