[ 解決済 ] フッター部分の他言語化について
[ 解決済 ] フッター部分の他言語化について
-
投稿者投稿
-
2022年5月31日 5:39 PM #65502
morisac参加者■ WordPress のバージョン
6.0■ テーマ・プラグインは全て最新版で確認してください。
確認しました。■ テーマの種類
Lightning ( G3 ) + Lightning G3 Pro Unit■ テーマのバージョン
14.21.4■ Pro Unit のバージョン
0.19.10■ スキンの種類
Origin III■ 関連しそうなプラグインを一つづつ停止して症状が改善するか確認してください。
確認しました。■ 期待する動作
多言語サイト(日、英、中、韓)にて、フッターについても各言語ページではその言語で表示したい。■ 自分で試した事
以前、ご相談させていただいた、
https://vws.vektor-inc.co.jp/forums/topic/%e3%83%95%e3%83%83%e3%82%bf%e3%83%bc%e9%83%a8%e5%88%86%e3%81%ae%e4%bb%96%e8%a8%80%e8%aa%9e%e5%8c%96%e3%81%ae%e3%82%a2%e3%82%a4%e3%83%87%e3%82%a2%e3%82%92%e3%81%8f%e3%81%a0%e3%81%95%e3%81%84
での設定をもとに、function.phpにadd_action( 'lightning_site_footer_content_prepend', function(){ $args = array( 'post_type' => 'page', // 固定ページ 'post_status' => array( 'publish', 'private' ), // 公開と非公開のステータス ); // 表示中のページが英語の場合 if ( get_locale() === 'en_US' ){ // ページのスラッグが footer-en の情報を追加指定 $args['name'] = 'footer-en'; // 表示中のページが日本語の場合 } else if( get_locale() === 'ja' ){ // ページのスラッグが footer-ja の情報を追加指定 $args['name'] = 'footer-ja'; // 表示中のページが中国語の場合 } else if( get_locale() === 'zh' ){ // ページのスラッグが footer-zh の情報を追加指定 $args['name'] = 'footer-zh'; // 表示中のページが韓国語の場合 } else if( get_locale() === 'ko' ){ // ページのスラッグが footer-ko の情報を追加指定 $args['name'] = 'footer-ko'; } // フッターの内容を格納した固定ページの情報($argsで指定した条件の情報)を取得 $posts_array = get_posts( $args ); // 条件に合う投稿(固定ページ)があった場合 if ( $posts_array && is_array( $posts_array ) ) { // 該当した投稿の1件目の本文の内容を取得 $content = $posts_array[0]->post_content; // フッター用に指定した固定ページの本文の内容を表示 echo apply_filters( 'the_content', $content ); } } );
を入れ込み、それぞれのフッターを対応するスラッグにて非公開で作成しています。
■ 症状が発生するブラウザ
Chrome■ 実際の症状
中国語ページにて韓国語フッターが表示される。
(その他の言語では正しく表示)それぞれのコードを入れ替えたりしてみたところ、『中国語ページにて韓国語フッターが読み込まれている』というより、一番最後に作ったフッター(これが韓国語)が読み込まれているようです。
これは韓国語ページも同様で、韓国語フッターを下書き状態にすると中国語フッター(この時は中国語フッターが最後になる)が表示されてしまいます。elseを消す、スラッグ名を変更してみるなどもしましたが、どれも効果はありませんでした。
お手数お掛け致しますが、ご教示いただけますと幸いです。
何卒よろしくお願いいたします。該当URL : https://*********※該当URLはフォーラムライセンスが有効のユーザーにのみ表示されます
2022年6月1日 12:03 PM #65520
うなこモデレーターおそらくですが
else if( get_locale() === 'zh' )
の zh
else if( get_locale() === 'ko' )
の ko の部分が違う気がします。管理画面の言語パックから、確認できるかなと思います。
例ですが、添付画像をご確認ください。
韓国語の場合は
else if( get_locale() === 'ko_KR' )
になるのだと思います
中国語は、中国語 (中国) 、中国語 (台湾)、中国語 (香港)の種類があるようですので、ご利用の言語のを書いてください。Attachments:
You must be logged in to view attached files.2022年6月1日 12:40 PM #65529
morisac参加者@うなこさん
ご回答ありがとうございます!
ご助言の通り、言語パックで確認、設定をしたところきちんと反映されました!
日本語が『ja』で、スラッグもそれぞれ『zh』『ko』だったため、これだけでいいのかと思っていましたが、細かいとこまであったんですね!
ありがとうございます!2022年6月1日 12:43 PM #65530
morisac参加者ベストアンサーってどうやってつけるのかと思ったら、モデレーターさんにはつけられないんですね…!
仕方がないのでお礼のみとさせていただきます。
ありがとうございます!2022年6月1日 12:59 PM #65531
うなこモデレーター解決できてよかったです!今後ともよろしくお願いいたします!
(モデレーター以上のユーザーはスタッフになりますのでベストアンサーが付けれなくなっております。) -
投稿者投稿
- このトピックに返信するにはログインが必要です。
- トピックタグ
- Lightning G3 Pro Unit