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にて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を設置しているサーバのリソースがそろそろ危ういので移設を検討す ...