• 解決済 osat99

    (@osat99)


    お世話になります。

    モバイルページとPCページで日本語ページと、英語ページで言語の切り替えリンクを出し分けしたいのですが、

    <ul class="language"><li>
    <?php $url = $_SERVER['REQUEST_URI'];
    if( strstr( $url, '/en/' )&& is_mobile() ) {
    echo '<a href="' . esc_url( home_url( '/' ) ) . '../">JN</a>';
    } else {
    echo '';
    }
    ?>
    <?php $url = $_SERVER['REQUEST_URI'];
    if( strstr( $url, '/' )&& is_mobile() ) {
    echo '<a href="' . esc_url( home_url( '/' ) ) . 'en/">EN</a>';
    } else {
    echo '';
    }
    ?>
    <?php $url = $_SERVER['REQUEST_URI'];
    if( strstr( $url, '/en/' )&& !is_mobile() ) {
    echo '<a href="' . esc_url( home_url( '/' ) ) . '../">Japanese</a>';
    } else {
    echo '';
    }
    ?>
    <?php $url = $_SERVER['REQUEST_URI'];
    if( strstr( $url, '/' )&& !is_mobile() ) {
    echo '<a href="' . esc_url( home_url( '/' ) ) . 'en/">English</a>';
    } else {
    echo '';
    }
    ?>
    </li></ul>

    このコードですと、/en/のページだけ、モバイル・PC共に、英語・日本語への切り替えリンクが両方表示されてしまいます。

    どこか間違った記載はありますでしょうか?

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

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • 数日前の投稿なので既に解決されているかもしれませんが、
    ‘/en/’と’/’それぞれ別個にif文を書いているのが原因です。
    /en/の末尾にも / があるので日英両方のリンクが表示されてしまっているわけです。
    elseifを使って /en/の時と/の時とで分岐させてみてください。

    <ul class="language"><li>
    <?php if (is_mobile() ) : ?>
    <?php $url = $_SERVER['REQUEST_URI'];
    if( strstr( $url, '/en/' ) ) {
    echo '<a href="' . esc_url( home_url( '/' ) ) . '../">JN</a>';
    } elseif( strstr( $url, '/' ) ) {
    echo '<a href="' . esc_url( home_url( '/' ) ) . 'en/">EN</a>';
    } else {
    echo '';
    }
    ?>
    <?php else: ?>
    <?php $url = $_SERVER['REQUEST_URI'];
    if( strstr( $url, '/en/' ) ) {
    echo '<a href="' . esc_url( home_url( '/' ) ) . '../">Japanese</a>';
    } elseif( strstr( $url, '/' ) ) {
    echo '<a href="' . esc_url( home_url( '/' ) ) . 'en/">English</a>';
    } else {
    echo '';
    }
    ?>
    <?php endif; ?>
    </li></ul>
    トピック投稿者 osat99

    (@osat99)

    moyo55 様

    いえいえ、どうもありがとうございます!
    解決はしておりませんで、CSSで出し分けして、とりあえず解決させておりました。

    お教えいただきました内容で、一度試してみます。

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

    トピック投稿者 osat99

    (@osat99)

    moyo55 様

    お知らせいただきましたコードでうまくいきました!

    この度は、どうもありがとうございました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「英語・日本語ページでの言語切替リンクの件で」には新たに返信することはできません。