こんにちは、
$_SERVER["HTTP_ACCEPT_LANGUAGE"]
を使って、オリジナルのコンディショナルタグを作るか、body_class()に言語クラスをフィルターで追加して、styleで非表示にするという事ではどうですか?
if (qtrans_getLanguage() == ‘en’)
で分岐してクラスを付けるか、メニューを2つ用意する、あたりかと。
アドバイスありがとうございます!
結局navにclassを付けて対応いたしました。
でもそうすると、英語の「HOME」リンクが日本語のHOMEへのリンクになってしまいます。
[一般設定] の [サイトアドレス (URL)]で固定されているからだとは思うのですが
英語サイトのHOMEは英語のトップページへのリンクとする方法はございますでしょうか?
ラベルは
<!–:en–>Home<!–:–>
のように書けばいいそうですが、URLも同様に書いてみては?
orangethyme 様
ありがとうございます。
でもそうしてしまうと、外観→メニュー機能を使わずメニューを組み立てる事になってしまいますので、外観→メニュー機能を使ってのメニュー表示の場合の方法を探しているのです。。。
home リンクが、自動的に追加されているのですか?
であれば、
テーマ内で、以下のようなフィルタで、ホームリンクが自動的に追加されている事があるので、(デフォルトでは、ホームへのリンクは非表示だったと思います)
add_filter( 'wp_page_menu_args', 'テーマの関数名' );
function テーマの関数名( $args ) {
$args['show_home'] = true;//ここをfalseにするとか
return $args;
}
そのフィルタをコメントアウトして、orangethymeさんのコンディショナルタグで、条件分岐して英語用のメニューと日本語用のメニューを作るといいのではないかと思います。
home linkは、メニューで作るようにするといいと思います。
qtranslate のフォーラムにカスタムメニューの表示を言語ごとに変えるには?という話題で、ラベル欄に上記のように書けば良い、と。
メニューは外観→メニュー内に表示したいメニューを入れて表示させる
という形にしております。
その中に「HOME」リンクも入れているため、HOMEリンクが表示されています。
英語ページの「HOME」リンクをen/index.phpにするためには
http://www.promenade.sakura.ne.jp/wp_blog/makeblog/wp/3194/
このページの下部「URLの切り替え」を見ると、functions.phpに
function q_convertURL($url){
return function_exists(‘qtrans_convertURL’) ? qtrans_convertURL($url):$url;
}
の様なコードを書き足せば良い様なのですが、上記をfunctions.phpに追記すると
画面が真っ白になってしまいサイトも見れないという感じのエラーが起きてしまうのです。。。
ページの内容をきちんと把握していないのかもしれませんが、何とか解決したいと思っております。
何卒お力をお貸しくださいm(_ _)m
ちなみに、テーマはTwenty Twelveを使っております。
皆様、アドバイスありがとうございます。
色々と試行錯誤していたため返信が遅くなりすみません。
色々なサイトを調べ自己解決したので、今後同じ問題にあたる方の為に
解決法を掲載しておきます。
参考にしたのは
http://www.qianqin.de/qtranslate/forum/viewtopic.php?f=3&t=2998
こちらです。
こちらに記述してあるコードをfunctions.phpに追記する事で
無事思い通りの動作(英語ページ内HOMEリンクは英語インデックスへ)が
実現いたしました。
皆様、ありがとうございました!