Bogoの言語別表示切り替えショートコード

Bogo – WordPress プラグイン | WordPress.org 日本語
をつかってるんですが、多言語表示に対応しきれない箇所があり、言語ごとに切り替えるショートコードを書いて切り分けて表示しています。

例えば、カテゴリーの説明なんかで重宝します。

functions.php

function ignore_shortcode( $atts, $content = null ) { return null;
}
function show_shortcode( $atts, $content = null ) { return $content;
}
$locale = get_locale();
if ( $locale == 'ja' ) { add_shortcode('en', 'ignore_shortcode'); add_shortcode('ja', 'show_shortcode');
} elseif ( $locale == 'en_US' ) { add_shortcode('en', 'show_shortcode'); add_shortcode('ja', 'ignore_shortcode');
}

表示言語設定で、例えば英語ページ(アメリカ英語)ならget_locale()がen_USか判別して、[en][/en]の中身を表示。日本語なら[ja][/ja]で囲った中身が表示できるようになります。

言語設定が増えても応用をきかせて韓国語なら[ko][/ko]というショートコードを作って対応できるはず。

関連記事