ワードプレスの多言語かでクライアントの案件ならサポートや他のプラグインの対応が充実してるWPMLを使うけども、無料のプラグインを使いたいなら自分はBogo一択である。
(同様のPolylungってプラグインは無料版だと使い勝手が悪い)
Bogo – WordPress プラグイン | WordPress.org 日本語
そのBogoでhogeってカテゴリのURLを表示しようとして、/en/hogeにアクセスしたときにNot Foundとなってしまいハマった。
検索しても多言語のカテゴリURLの対応がうまくみつけられなかったので、テーマファイルの中のfunctions.phpに以下のコードを入れて取り急ぎ、表示されるようにした。
add_rewrite_rule('en/hoge/?$', 'index.php?category_name=hoge', 'top');
//下記コードは初回のみ使用。
add_action('init', 'remcat_flush_rules');
function remcat_flush_rules() { global $wp_rewrite; $wp_rewrite->flush_rules();
}
ワードプレスのrewrite機能を使って、無理やり表示させている。
スマートな解決方法じゃないんだろうなと思いつつ、カテゴリ一覧はこの方法で表示できたので、とりあえず、これで。