Quantcast
Channel: backyard.weblog » WordPress
Viewing all articles
Browse latest Browse all 6

WP Plugins : qTranslate使用時にカスタム投稿タイプのシングルページ送りがデフォルトの言語になってしまう(言語パラメータのないURLになってしまう)

$
0
0

案件で、WordPressの多言語(マルチリンガル)対応にqTranslateというプラグインを使用しました。
その際に、カスタム投稿タイプのシングルページ送りのリンクに言語パラメータがつかず、デフォルトの言語へ移動してしまい困ったので、そのときの対処法をメモ。

原因を探したところget_permalink()で生成されるリンクに言語パラメータを含むように変換されていませんでした。the_permalink()で生成されるリンクには言語パラメータが含まれているのになぜ?

そこでこれを解決するためにqTranslateプラグインディレクトリの中にある、qtranslate_hooks.phpに1行追加しました。

add_filter('month_link', 'qtrans_convertURL');
add_filter('page_link', 'qtrans_convertURL');
add_filter('post_link', 'qtrans_convertURL');
add_filter('post_type_link', 'qtrans_convertURL');//★
add_filter('year_link', 'qtrans_convertURL');
add_filter('category_feed_link', 'qtrans_convertURL');
add_filter('category_link', 'qtrans_convertURL');

上記の適当な部分で検索をかけて下さい。そこへ★の行を追加すればOKです。
※ちなみにわたしが追加した時点では309行目と310行目の間でした。

qTranslateプラグインで、post_linkにはqtrans_convertURL関数が登録されていますが、post_type_linkには関数が登録されていませんでした。そのため、言語パラメータのつかないURLがかえってきていたみたい?


Viewing all articles
Browse latest Browse all 6

Trending Articles