ナビゲーションをスキップする
更新済み
6月 7, 2024

多くの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はそのページの名前を生成します。