WPML

問題の概要

WPMLでElementorの画像カルーセルウィジェットを使用する場合、メディアライブラリでキャプションが翻訳され、ページが翻訳されている場合でも、フロントエンドに翻訳された画像のキャプションが表示されません。

回避策

この問題はWPML Multilingual CMS 4.7.4で修正されました。 更新するとサイト上の問題は解決するため、この回避策が必要になるのは、まだ更新できない場合のみです。

作業を進める前に、必ずサイトの完全なバックアップを取得してください。

  • テーマのfunctions.phpファイルを開きます。
  • 次のスニペットを追加します。
// WPML Workaround for compsupp-7726
add_filter( 'elementor/frontend/before_render', 'wpml_compsupp7726_filter_imagecarousel_widget');

function wpml_compsupp7726_filter_imagecarousel_widget($element) {
	if ( 'image-carousel' !== $element->get_name() ) {
        return;
    }

    $settings = $element->get_settings();

    if ( isset( $settings['carousel'] ) && is_array( $settings['carousel'] ) ) {
        foreach ( $settings['carousel'] as $key => $value ) {      

            $post_type = get_post_type( $value['id'] );

			if ( ! $post_type ) {
				continue;
			}

			$value['id'] = apply_filters( 'wpml_object_id', $value['id'], $post_type, true );

			unset($settings['carousel'][$key]['id']);
			$settings['carousel'][$key]['id'] = $value['id'];
		}

        $element->set_settings( 'carousel', $settings['carousel'] );
    }
}
  • Elementorのキャッシュを忘れずにクリアしてください。
  • すべての既知の問題

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

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