- ステータス
- 開発者により解決済み
- 関連するプラグイン/テーマ
- ThemeREX Addons
- トピックタグ
- Compatibility
問題の概要
ElementorでThemeRex AddonsプラグインのImage Sliderウィジェットを使用する場合、WPML Media Translationで翻訳した画像が翻訳されたページに表示されません。代わりに、デフォルト言語の同じ画像がすべての言語で表示されます。
回避策
続行する前に、必ずサイトの完全なバックアップを取得してください。
- テーマのfunctions.phpファイルを開き、以下のコードを追加します。
// WPML Workaround for compsupp-7754 add_filter( 'elementor/frontend/before_render', 'wpml_compsupp7754_trx_widget_slider_widget'); function wpml_compsupp7754_trx_widget_slider_widget($element) { if ( 'trx_widget_slider' !== $element->get_name() ) { return; } $settings = $element->get_settings(); if ( isset( $settings['slides'] ) && is_array( $settings['slides'] ) ) { foreach ( $settings['slides'] as $key => $value ) { if ( is_array($value) && isset( $value['image']['id'] ) ) { $post_type = get_post_type( $value['image']['id'] ); if ( $post_type ) { $translated_id = apply_filters( 'wpml_object_id', $value['image']['id'], $post_type, true ); $translated_url = wp_get_attachment_url($translated_id); $settings['slides'][$key]['image']['id'] = $translated_id; $settings['slides'][$key]['image']['url'] = $translated_url; } } } $element->set_settings( 'slides', $settings['slides'] ); } }