backyard.weblog

Main Contents

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

/ Web, WordPress /

Post

案件で、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がかえってきていたみたい?

  • Check
  • このエントリーをはてなブックマークに追加
  • Clip to Evernote

Similar Posts

Add Comment

WP-SpamFree by Pole Position Marketing

Comments

From:shaggggy
June 01, 2012 (Fri)

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

Trackbacks

Trackback URL