勉強したことのメモ

webプログラマが勉強したことのメモ。

Polylangで言語毎の分岐処理

   

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

  関連記事

WordPressにてACFで設定したカスタムフィールドの値を元に記事を並べ替える方法

WordPressにてAdvanced Custom Fieldsで設定したカス ...

WordPressでNo URL was~というエラー

WordPressでmp4ファイルをアップロードして記事に埋め込んだものの、記事 ...

WordPressでコンテンツ内に広告を差し込む方法

WordPress内でヘッダーやフッターではなく、コンテンツ内に広告を差し込みた ...

WordPressで記事検索時に投稿ID順にならない場合

WordPressでサイト上から記事検索を行った場合、通常であれば投稿IDが新し ...

Advanced Custom Fieldsで記事取得

WordPressでAdvanced Custom Fieldsにて設定した項目 ...

WordPressでユーザー毎にフラグを持たせる

WordPressでユーザー毎に何らかのフラグを持たせて、フラグによって分岐処理 ...

他所のサーバからWordPressの記事情報をpostIDを指定して取得する方法

他所のサーバからWPの記事IDを指定した上で、当該IDのタイトル・アイキャッチ画 ...

WordPressログイン時のヘッダーメニューを非表示

WordPressログイン時にフロント側のページを見るとヘッダーにメニューが表示 ...

WordPressで逆アクセスランキングの設置

WordPressに逆アクセスランキングを設置したかった。 ただ、広告が出ないタ ...

WordPressを停止しないままサーバ移設する方法

WordPressを設置しているサーバのリソースがそろそろ危ういので移設を検討す ...