WordPressのPolylangで言語毎に分岐処理する方法
2024/02/22
WordPressで多言語サイトを作成するにあたりPolylangというプラグインを使用しており、テーマファイル内で言語毎に分岐処理を行いたいというケースがあった。以下に方法をメモ。
対応方法
日本語・英語・中国語の多言語サイトと想定する。分岐処理を行いたいファイルで以下を追記することで対応可能。
$locale = get_locale(); if( $locale == 'en_US' ){ //英語の場合の処理 }else if( $locale == 'zh_CN' ){ //中国語の場合の処理 }else{ //その他の処理(今回のケースだと日本語の処理がここに入る) }
プラグインのバージョン
使用中のバージョンは2.3.4になる。また、プラグインは以下の通り。
https://ja.wordpress.org/plugins/polylang/
まとめ
cookieのpll_languageに指定言語が入るようなのでこちらを使うかと思いきや、その方法だと正常に動かなかった。恐らくページ表示後にcookieに保存されているんじゃないかと。なので、get_locale()でロケール情報を取得して分岐処理を行う。
関連記事
-
-
WordPress内でPHPの独自プログラムページを実装する方法
WordPress内にてPHPで作ったシステムを実装したい。ヘッダー / フッタ ...
-
-
WordPressで翌日以降に編集した記事のみ最終更新日を表示する方法
WordPressで翌日以降に編集した記事のみ最終更新日を表示させたい。逆に言う ...
-
-
WordPressのテーマファイル内で取得したオブジェクトを指定のフィールド名でソートする方法
WordPressのテーマファイル内で記事やカテゴリ一覧等を取得するとオブジェク ...
-
-
Polylangのスイッチャーでクエリ(GETパラメータ)を引き継ぐ方法
WordPressで多言語サイトを作成するにあたりPolylangというプラグイ ...
-
-
他所のサーバからWordPressの記事情報をpostIDを指定して取得する方法
他所のサーバからWPの記事IDを指定した上で、当該IDのタイトル・アイキャッチ画 ...