サポート » 使い方全般 » qtranslate使用時にメニューを言語によって異なる画像にする。

  • 解決済 ishikoro

    (@ishikoro)


    お世話になります。

    qtranslate使用時に、言語によって異なる画像をメニューに適応したいと考えております。

    日本語では日本語用の画像をメニューに、英語では英語用の画像をメニューにといった感じです。

    メニューのclassが言語によって異なればいいのですが、そうはいかなさそうです。

    phpを使い、メニューごとに条件分岐で画像を当てはめることができればいいのですが、そういったことは可能でしょうか?

    ご教授よろしくお願いいたします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • if (qtrans_getLanguage() == ‘en’)
    のように分岐できます。

    トピック投稿者 ishikoro

    (@ishikoro)

    ご回答ありがとうございます。

    そのように条件分岐できることはわかるのですが、例えば会社概要やお知らせ、商品紹介といったメニューに画像を言語別に割り当てる方法がわかりません。
    会社概要には、日本語ページではAという画像を、英語ページではBという画像を当てはめるといった感じです。

    例えばpage-item-60というメニューがあったとすっれば、phpで再度page-item-60とclass指定して、それに条件分岐により画像を当てはめる方法が可能であればいいのですが、駄目でした。

    何いい方法をご存知ないでしょうか。

    よろしくお願いいたします。

    メニューを2つ作って分岐する、メニューの外側の要素を分岐する、など、でしょうか。

    メニュー画像を CSS で切り替える方法:

    1. テーマの functions.php に以下をコピペします。

    add_filter( 'body_class', 'my_body_class' );
    function my_body_class( $classes ) {
      $classes[] = esc_attr( qtrans_getLanguage() );
      return $classes;
    }

    2. body タグにクラス名を追加します。
    <body <?php body_class() ?>>

    3. CSS で画像を切り替えます(例)。

    body.en .page-item-60 { background-image: url(images/nav-60-en.png); }
    body.ja .page-item-60 { background-image: url(images/nav-60-ja.png); }

    トピック投稿者 ishikoro

    (@ishikoro)

    orangethyme様

    遅くなりまして申し訳ありません。

    少し難しいですね。

    ありがとうございます!

    kz様

    遅くなりまして申し訳ありません。

    ご丁寧にありがとうございます。

    そんな方法があったのですね!

    非常に勉強になりました。また、解決できて本当にたすかりました。

    ありがとうございました!

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「qtranslate使用時にメニューを言語によって異なる画像にする。」には新たに返信することはできません。