WPMLの言語スイッチャーでできること
インストール後すぐに、WPMLは以下の機能を持つスイッチャーを生成します。
- サイト上のすべてのアクティブな言語を、選択した順序で表示します。
- 各言語をその言語自身の名称(Deutsch、Français)で表示するか、サイトの現在の言語(ドイツ語、フランス語)で表示するかを選択できます。
- オプションで国旗(テーマに合わせて拡大縮小するスプライト)を表示します。
- 不足している翻訳を適切に処理します。言語をスキップするか、その言語のホームページにリンクします。
- 任意のWordPressメニュー、ウィジェットエリア、フッター、または投稿の上下にインラインで配置できます。
- 任意のページビルダーのレイアウト用にGutenbergブロックとして提供されます。
- 表示が不要な特定のページ(404、チェックアウト、アカウント)で非表示にできます。
- ページの読み込みを高速化するために、レンダリングされたHTMLをキャッシュします。
ほとんどのサイトでは、組み込みの配置とデフォルト設定を使用します。より詳細な制御が必要なテーマ開発者は、WPMLのAPIを使用してコードでカスタムスイッチャーを構築できます。
設定の場所
WPML設定言語スイッチャーを開きます。このページはUIのタブではなく、目的別にグループ化されています。変更したい内容に一致するセクションを選択してください。
表示される言語とその順序
「言語スイッチャーのオプション」カードには、すべてのアクティブな言語がリストされたドラッグアンドドロップ領域があります。ここでの順序が、サイト上のすべてのスイッチャーでの順序を決定します。言語を上下にドラッグして保存します。
同じカードで、以下を選択します。
- ネイティブ名称と現在の言語のラベル。 Deutsch(ネイティブ名称)またはドイツ語(現在の言語)を表示します。ネイティブ名称はその言語の話者にとって親しみやすく、現在の言語は初めての訪問者にとってわかりやすくなります。
- 国旗のオン/オフとフォーマット。 国旗の表示の有無と、そのフォーマットを選択します。
翻訳が不足している場合の動作
すべてのページがすべての言語に翻訳されているとは限りません。「翻訳のない言語の処理方法」オプションは、現在のページの翻訳がない言語に対してスイッチャーがどのように動作するかを決定します。
- 言語をスキップ(デフォルト)。このページでは、その言語がスイッチャーから消えます。最もすっきりとしたUXであり、訪問者は実際に読める言語のみを目にします。
- 翻訳が不足している場合は言語のホームにリンクする。 スイッチャーの項目には、代わりにその言語のホームページが表示されます。すべてのページから常にすべての言語にアクセスできるようにしたい場合に便利ですが、訪問者が予期しないコンテンツにたどり着く可能性があります。
この選択はUXに影響を与えるため、慎重に検討する価値があります。
スイッチャーの表示位置
同じ設定ページで個別に切り替え可能な5つの配置があります。
- メニュー言語スイッチャー。 スイッチャーを任意のWordPressメニュー(ヘッダー、フッター、サイドバーなど、テーマがメニューを割り当てる場所)にドロップします。メニューごとに異なる配置にしたい場合は、複数追加します。各メニューのスイッチャーには、配置場所を示す独自のプレビュー行が表示されます。
- ウィジェット言語スイッチャー。 テーマが登録している任意のウィジェットエリア(サイドバー、ヘッダーゾーン、フッター列など)にスイッチャーを追加します。
- フッター言語スイッチャー。 すべてのページの下部にスイッチャーを自動レンダリングする、単一のグローバルなトグルです。
- 投稿の翻訳へのインラインリンク。 各投稿の上下に「この投稿はXで利用できます」というリンクを表示する単一のチェックボックスです。
- カスタムスイッチャー。 組み込みの配置では不十分な場合、テーマ開発者は任意のテンプレートファイルからWPMLのスイッチャーAPIを呼び出すことができます。設定ページには、レンダリングオプション用の「カスタマイズ」ボタンが表示されます。
特定のページでのスイッチャーの非表示
404ページ、アカウント画面、チェックアウトなど、一部のページにはスイッチャーは必要ありません。WPMLの条件付き表示ルールを使用すると、テーマのdisplay:noneCSSに頼ることなく、ページごとにスイッチャーを非表示にできます。
ページごとのルールは、同じWPML設定言語スイッチャーページで設定します。スイッチャーを非表示にしたいページを選択すると、そのルールはすべてのスイッチャーの配置に一度に適用されます。
URLパラメータの保持
訪問者がスイッチャーをクリックすると、WPMLは翻訳先言語のURLを再構築します。デフォルトでは、クエリ文字列パラメータ(?utm_source=newsletter、フィルターパラメータなど)は破棄されます。これにより、分析キャンペーンやフィルター処理されたリストが機能しなくなります。
「URL 引数を保持する」フィールドには、切り替え時に保持したいクエリキーをリストします。ここに入力したもの(1行に1つ)は、翻訳されたURLに訪問者とともに引き継がれます。
スイッチャーのカスタムCSS
「追加のCSS」の下にある単一のテキストエリアを使用すると、サイト上のすべてのスイッチャーに一度にスタイルを適用できます。テーマファイルに触れることなく、スイッチャーをテーマに合わせるのに便利です。
スイッチャーテンプレートのキャッシュ
WPMLはすべてのスイッチャー配置のレンダリングされたHTMLをキャッシュし、トラフィックの多いサイトでのページの読み込みを高速化します。WPML 5.0以降、これに関する設定はありません。WPMLのキャッシュディレクトリが書き込み可能であれば、キャッシュは常にオンになります。
注意点: スイッチャーのオプションを変更してもフロントエンドに反映されない場合、最初に確認すべきなのはキャッシュです。WPMLサポートで「キャッシュをクリア」を実行し、再読み込みしてください。
テーマコードでのカスタムスイッチャー
組み込みの配置が適さないサイト(ページヘッダー内の特定の位置にあるスイッチャー、テーマによってレンダリングされるカスタムドロップダウン、WordPressメニューやウィジェットエリア外の場所など)のために、WPMLはテーマ開発者がカスタムスイッチャーを構築できるAPIを提供しています。
「カスタム言語スイッチャー」カードには、「有効化」トグルと「カスタマイズ」ボタンがあります。有効にすると、テーマのテンプレートコードはWPMLの文書化されたPHP APIを使用して、どこにでもスイッチャーをレンダリングできるようになります。