WPML

問題の概要

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;
    },
注意:この回避策は、nicename、descriptionなどの他の文字列に対して拡張する必要がある場合があります。

すべての既知の問題

まだこの問題が発生しますか?

アップデートしても問題が解決しない場合は、サポートのご質問をお寄せください。一緒に調査いたします。