WordPress プラグイン Polylang の使い方を紹介
公開日
by
WordPress の多言語切り替えプラグイン Polylang の使い方を紹介します。
例えば、多言語サイトを制作する時に便利な方法です。
言語切替の条件分岐
言語別に表示を切り替えるには get_locale
を使って、現在のロケール情報を取得して条件分岐を行います。
例えば、日本語とそれ以外の言語で表示内容を分けるには、次のコードをテンプレートに追加します。
<?php if(get_locale() == 'ja'): ?>
日本語
<?php else: ?>
他言語
<?php endif; ?>
ページ冒頭の lang 設定を言語別に切り替える際には次のコードを追加します。
<?php if(get_locale() == 'ja'): ?>
<html lang="ja">
<?php else: ?>
<html lang="en">
<?php endif; ?>
言語を切り替える言語スイッチャーを実装する方法
Wiget を使わずに言語スイッチャーを実装するには、プラグイン独自の関数を使用します。
例えば、言語に登録した名称を表示するスイッチャーを表示するには、次のコードを追加します。
<ul>
<?php pll_the_languages(); ?>
</ul>
次のように表示されます。
<ul>
<li class="lang-item lang-item-xx lang-item-ja lang-item-first current-lang"><a lang="ja" hreflang="ja" href="https://.example.com/">JP</a></li>
<li class="lang-item lang-item-xx lang-item-en"><a lang="en-US" hreflang="en-US" href="https://example.com/en/">EN</a></li>
</ul>
例えば、オプションを指定すると次のようにカスタマイズが可能です。
国旗を表示する。
<ul>
<?php pll_the_languages(array('show_flags'=>1,'show_names'=>0)); ?>
</ul>
言語リストをドロップダウンリストで表示する
<?php pll_the_languages(array('dropdown'=>1)); ?>
指定できるオプションは以下のとおりです。
- dropdown
- 0に設定するとリストを表示し、1に設定するとドロップダウンリストを表示します。(デフォルト:0)
- show_names
- 1に設定されている場合、言語名を表示します。(デフォルト:1)
- display_names_as
- ‘name’または ‘slug’。(デフォルト: ‘name’)
- show_flags
- 1に設定するとフラグが表示されます。(デフォルト:0)
- hide_if_empty
- 1に設定した場合、投稿(またはページ)のない言語を隠します。(デフォルト:1)
- force_home
- 1に設定するとホームページへのリンクを強制します。(デフォルト:0)
- echo
- 1に設定されていればエコーし、0に設定されていれば文字列を返します。(デフォルト:1)
- hide_if_no_translation
- 1に設定されている場合、翻訳が存在しない場合は言語を非表示にします。(デフォルト:0)
- hide_current
- 1に設定すると現在の言語を隠します。(デフォルト:0)
- post_id
- 設定されている場合、post_idによって定義された投稿(またはページ)の翻訳へのリンクを表示します。(デフォルト:null)
- raw
- これを使ってあなた自身のカスタム言語スイッチャーを作成します。(デフォルト:0)
共通したページスラッグを使用する方法
言語を分けた場合に、日本語ページと他言語ページで共通したページスラッグを使用するには、このプラグインのPRO版を購入する必要があります。
注意事項
このプラグインを使用する上で注意したいのは pjax などを使用した場合です。
言語切り替えボタンが、pjaxの更新範囲内にないと、意図したページへのリンクが作成されないのでご注意が必要です。
まとめ
WordPress プラグイン Polylang の使い方を紹介しました。