WordPressのプラグイン「Jetpack」をインストールすると、ウィジェットに「Facebookページプラグイン」が使えるようになる。
「これは便利だ!」とすぐにドラッグ&ドロップした結果、英語で表示されてしまった。
私もローマ字なら何でもオシャレに見える日本人特有のセンスを持ち合わせているので、カッコいい!とは思うけど、やっぱり日本のサイトだから日本語にしたい。
修正前:英語で表示されている
上の画像は修正前。英語で表示されてしまっている。
そんなことより「いいね!」が1件もないことが気になるが、これも英語で表示されている弊害だと思う。
ちょっとでも可哀想だと思った人は「いいね!」してください。
プラグインを修正して強引に直す
正直考えるのが面倒なのでプラグインを修正して強引に直すことにする。
今回修正したJetpackプラグインはバージョン3.9.1。
修正するファイルは以下の通り。
./plugins/jetpack/modules/widgets/facebook-likebox.php
facebook-likebox.phpの修正箇所
286行目のguess_locale_from_lang関数を以下の通り修正する。
追記
Jetpackのバージョンが3.9.5に上がって、修正箇所が変更になった。
詳細は下記記事参照。
→JetpackのFacebookページウィジェットの表示を日本語にする(バージョン3.9.5以降)
修正前:
function guess_locale_from_lang( $lang ) {
if ( 'en' == $lang || 'en_US' == $lang || !$lang ) {
return 'en_US';
}
if ( !class_exists( 'GP_Locales' ) ) {
// 以下省略
修正後:
function guess_locale_from_lang( $lang ) {
if ( 'en' == $lang || 'en_US' == $lang || !$lang ) {
return 'en_US';
}
// 追加ここから↓ウィジェットの表示を日本語にする
if ( 'ja' == $lang ) {
return 'ja_JP';
}
// 追加ここまで↑
if ( !class_exists( 'GP_Locales' ) ) {
// 以下省略
解説
関数の引数である言語文字列を格納してる変数に日本語(ja)って入ってたら、Facebook用の言語文字列(ja_JP)を返すif文を追加しただけ。
実は上記のコードのちょっと後に、ちゃんと各言語対応するようなソースが入ってるんだけど、うまく動いてないようなので(引数にはja_JP
を期待しているが、来るのはja
であるため)、追加ソースコードの上にある英語(en)のif文をパクって、お助け処理を追加することにした。
次のバージョンアップで何らかの修正がされていることを期待。
追記
Jetpackのバージョンが3.9.2に上がったけど、まだ解決されていない様子。
追記
Jetpackのバージョンが3.9.5に上がって、修正箇所が変更になった。
詳細は下記記事参照。
→JetpackのFacebookページウィジェットの表示を日本語にする(バージョン3.9.5以降)
まとめ
HTTPS(常時SSL)サイト⇔Jetpack(WordPress.com)でうまく連携出来ていないことに原因があるのかもしれない。
また、基本的に外部プラグインはブラックボックスにしときたいので、この対応はイレギュラー。
でもまぁいっか。直ったし。
そんなことより誰か「いいね!」してくれないかな。
初めまして!
本記事と同じような状況で解決策を探していたのですが、無事解決できました!有益な情報ありがとうございます。
お役に立てたようで何よりです。m(_ _)m