- English
- 日本語
概要
みなさんこんにちはcandleです。
今回はwordpress bogoのショートコードをカスタマイズしてみたいと思います。
紹介する項目は以下の2つです。
- 国旗の表示、非表示
- テキストの変更
になります。
関連記事
前提
wordpress bogoがインストールされている
wordpressのテーマを編集できる
国旗の表示非表示
bogoのショートコードは[bogo]を貼り付けるだけで、どこでも他の言語へ移動するリンクを表示してくれます。
その時、自動的に国旗が表示されます。
場合によっては国旗が必要でないこともあるので、非表示にしてみましょう。
各テーマのフォルダにあるfunctions.phpを開きます。
一般に以下のパスにあります。
開いたら、以下の内容を記述します。
add_filter( 'bogo_use_flags','bogo_use_flags_false'); function bogo_use_flags_false(){ return false; }
add_filterでfalseを投げてあげれば、国旗は非表示されます。
表示されるテキストを変更する
例えば、先日の記事の様に、言語をen-USからenに変更した際、
英語のリンクが「English (United States)」では違和感があります。
そこで、例えば「English (United States)」から「English」に変換する方法を紹介します。
もちろん、好きな文字を変更できるので、用途に合わせて変更してください。
function.phpを開いて、以下を記述します。
add_filter( 'bogo_language_switcher','replace_bogo_text'); function replace_bogo_text($output){ return str_replace(' (United States)','',$output); }
実はこの方法はかなりの荒技です。
[bogo]のショートコードで表示される結果全体に対して、置換をかけています。
もう少しスマートな方法を試そうとしたのですが、今の所これが最善かと思います。
ちゃんと文字が変更されていますね。
ショートコードを根本から変更する
実は付け焼刃的な解決ではなく、もっと根本から変更する方法があります。
bogoプラグインの中のショートコード生成コードをオーバーライドして自分用にするというものです。
大掛かりな変更を行う場合はこちらの方法を使用すると、より細かくカスタマイズが可能です。
この記事では扱いませんが、以下のサイトに詳しく書いてあります。
https://qox.jp/blog/bogo-wordpress/
まとめ
このサイトはここでまとめた方法で他言語に対応させています。