- ステータス
- 解決済み
- 報告対象
- WPML Multilingual CMS 4.8.4
- 解決されたバージョン
- WPML Multilingual CMS 4.8.6
- トピックタグ
- Bug, Compatibility
問題の概要
Elementor ProをWPMLと併用している場合、メディア翻訳がインストールされていないと、デフォルト言語で定義されたサイトロゴが翻訳されたページに表示されません。代わりに、Elementorはロゴの位置にデフォルトのプレースホルダー画像を表示します。この現象は、Theme Builderで作成されたテンプレート内でElementorの「Site Logo」ウィジェットを使用している場合に発生します。
回避策
2つの一時的な解決策があります。
オプション1: WPML Media Translationをインストールする
WPML Media Translationアドオンをインストールすると、翻訳されたメディア添付ファイルが正しく処理されるようになり、問題が解決します。
オプション2: カスタムフィルターを適用してロゴオプションの翻訳をバイパスする
先に進む前に、サイトの完全なバックアップを取得していることを確認してください。
開く: テーマのfunctions.phpファイル、またはカスタム機能プラグイン。
追加: ファイルの末尾に以下のコードスニペットを追加します。
add_filter('option_site_logo', function ($value) {
global $wp_filter;
$tag = 'option_site_logo';
$prio = 11;
if (isset($wp_filter[$tag])) {
$hook = $wp_filter[$tag];
if ($hook instanceof WP_Hook) {
if (isset($hook->callbacks[$prio]) && is_array($hook->callbacks[$prio])) {
$hook->callbacks[$prio] = [];
}
}
elseif (is_array($hook) && isset($hook[$prio]) && is_array($hook[$prio])) {
$wp_filter[$tag][$prio] = [];
}
}
return $value;
}, 10, 1);
任意: サイトのキャッシュをクリアし、Elementor CSSファイルを再生成します。
当社はこの問題を認識しており、開発者が恒久的な修正に取り組んでいます。