Overview of the Issue
If your are employing the WPGraphQL extension, you will notice that for already translated author metadata content, such as first names, WPGraphQL queries continue to return data in the default language.
Workaround
This issue is fixed in WPML GraphQL 1.1.3. Updating solves it on your site, so you only need this workaround if you can’t update yet.
Please, make sure of having a full site backup of your site before proceeding.
- Open the …/wp-content/plugins/wp-graphql/src/Model/User.php file.
- Look for line 191.
- Replace:
'firstName' => function () { return ! empty( $this->data->first_name ) ? $this->data->first_name : null; }, - With:
'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; },