多言語プラグインのPolylangで検索ができないときの対処法

ちょっとした小ネタ。

PolylangってWordPressの多言語プラグインを使ったサイトの弄くりがあって、そのときに検索フォーム関係でトラブったのでTIPSを書いておく。

 

Polylang入れると、ベースの言語設定以外は、例えば英語とかなら/en/でサイトパスが区切られる。

ただ、このとき検索フォームのformタグのactionに普通にhome_url(‘/’)とかやっても、固定ページがトップページに設定されているときとかで、検索ができない。

 

なので、そういうときはこんな感じで対処する。

 

<form method="get" id="search" action="<?php
  echo get_site_url('', '/').(pll_current_language() != 'ja' ? pll_current_language().'/' : '');
?>">
~~~
</form>

 

上記は日本語をベースとしたサイトでの設定。

pll_current_language()で言語の文字列が取れてくるので、ja以外のときにこれをactionのURLに指定すればいい。

カテゴリ

この記事のコメント

コメントはないです。

コメントを残す

メールアドレスが公開されることはありません。