wordpressで他言語化を実現する「qtranslate」の後継プラグイン、「qTranslatex」の関数に関するメモ書きです。「qtranslate」はご存知の通り、2014年1月を最後に更新が止まっている。wordpressは結構早いスピードでバージョンが更新されていくため、最新バージョンの4.1.1(※2015/4/18時点)では対応していない。開発している方が忙しいのか?とか、フォーラムでは色々な声で賑わっていた。実際に無料で高性能なプラグインだったため困った人も多いはず。
しかし、よくよく調べて見ると更新が止まったのではなく、新しいバージョンで公開をしていた!!それが「qTranslatex」。しかも基本的に使い方は同じなので目からウロコ状態だった。
プラグインのダウンロードはこちら↓↓
https://wordpress.org/plugins/qtranslate-x/
まだドキュメントやブログ記事があまり多くはないため、ソースを見て加工していく必要がある。
例えば旧バージョンでMenuの中に言語切り替えボタンを表示する場合、function.phpには以下を追加していた。
1 2 3 4 5 6 7 8 |
function my_nav_menu_items($items) { // Language Chooser global $q_config; $url = is_404() ? get_option('home') : ''; $lang = qtrans_getLanguage() == 'ja' ? 'en' : 'ja'; return $items . "<li id='menu-item-lang' class='lang-{$lang} menu-item menu-item-type-custom menu-item-object-lang'><a href='" . qtrans_convertURL($url, $lang) . "' hreflang='{$lang}'>{$q_config['language_name'][$lang]}</a></li>"; } add_filter('wp_nav_menu_items', 'my_nav_menu_items'); |
新しいqTranslatexでは以下のように変えることで解決できる。
1 2 3 4 5 6 7 8 |
function my_nav_menu_items($items) { // Language Chooser global $q_config; $url = is_404() ? get_option('home') : ''; $lang = qtranxf_getLanguage() == 'ja' ? 'en' : 'ja'; return $items . "<li id='menu-item-lang' class='lang-{$lang} menu-item menu-item-type-custom menu-item-object-lang'><a href='" . qtranxf_convertURL($url, $lang) . "' hreflang='{$lang}'>{$q_config['language_name'][$lang]}</a></li>"; } add_filter('wp_nav_menu_items', 'my_nav_menu_items'); |
変更: qtrans_getLanguage() → qtranxf_getLanguage()
これで対応できます。基本的に上記を対応することでできたので色々と試してみてください。 もし間違っていたらご指摘していただけると嬉しいです。
LEAVE A REPLY