多くのWordPressテーマには、ハードコードされたリンクが含まれています。 例えば、フッターリンクからサポートページやお問い合わせページへのリンクは次のようになります:
<a href="/support/">Support</a> | <a href="/contact-us/">Contact us</a>
サイトが多言語で運営されている場合、これらのリンクは表示言語に適応しなければならない。 言語を切り替える際には、リンクテキスト(訪問者が目にするもの)とURL(リンク先)の両方を変更する必要があります。
WPMLicl_link_to_element()関数はローカライズされたページへのリンクを生成します。
注意: WPMLのバージョン>=3.2 では、wpml_element_linkフィルターフックを使用してください。 以下の関数はまだ使用できますが、廃止予定であり、3.3で完全に削除される予定です。
機能説明
icl_link_to_element(ID, type, text, arguments, anchor);
議論 | 説明 | 必須 / オプション |
---|---|---|
身分証明書 | リンク先の投稿、ページ、タグ、カテゴリーのID。 | 必須 |
タイプ | リンク先のページの種類。 投稿’、’ページ’、’タグ’、’カテゴリー’のいずれか。 | オプション、デフォルトは’投稿” |
テキスト | リンクテキスト。 指定がない場合は、現在の言語での要素名を生成する。 | オプション。デフォルトは要素名。 デフォルトのままにするにはfalseを入力する。 |
引数 | リンクのオプション引数。 使用する場合は、PHP の配列でなければなりません。 | オプション、デフォルトは引数なし |
アンカー | リンクのオプションのアンカー。 | オプション、デフォルトはアンカーなし |
使用例
例 | 目的 | 制作されたHTML |
---|---|---|
<?php icl_link_to_element(10); ?> | 10ページ(サポートページ)へのリンク | <a href=”/support/”>サポート</a> |
<?php icl_link_to_element(10,’post’,__(‘Get help’)); ?> | 代替リンクテキストによるサポートページへのリンク | <a href=”/support/”>ヘルプを得る</a> |
<?php icl_link_to_element(10,’post’,false, array(‘category’=>’products’,’priority’=>’high’); ?> | サポートページにリンクし、2つの引数を追加する。 | <a href=”/support/?category=products&priority=high”>サポート</a> |
<?php icl_link_to_element(10,’post’,false,’priority’=>’high’,’faq’); ?> | ||
<?php icl_link_to_element(3,’tag’); ?> | ID3のタグ(私たちの「ニュース」タグ)へのリンク | <a href=”/tag/news/”>ニュース</a> |
仕組み
ページ/投稿/タグ/カテゴリーのIDを任意の言語で指定できます。 WPMLは現在の言語に翻訳が存在するかどうかをチェックします。 もしそうなら、そのリンクを作成する。 翻訳が存在しない場合は、原語のページにリンクします。
リンクテキストを手動で指定する場合、テキストが正しい言語で表示されるように、gettext呼び出し__()でラップすることをお勧めします。 リンクテキストを指定しない場合(最初の例のように)、WPMLはそのページの名前を生成します。