PR

WordPress英語ページ内包したので、グローバルメニュー調整

wordpress
記事内に広告が含まれている事があります。

 

ecn026b-s

 

お客様のサイトを作成していて、WordPreess のphpファイルをちょっとだけいじりました。その備忘録も兼ねて記事にさせてもらいます。

今回、1つのサイト(日本語)の中に英語ページを設ける事になました。英語ページの時はグローバルメニューを英語にして出さなければなりません。

まず、英語のTOPページは固定ページで作成しスラッグ名を「english」。

http://ドメイン名/english/ でアクセス出来ます。

英語のコンテンツは全て固定ページで /english/ の下に配置するように作成。

http://ドメイン名/english/reservation/
http://ドメイン名/english/profile/

こんな感じです。

ここ迄は固定ページを作る時、親ページを指定してあげます。次はグローバルメニューの調整です。

投稿のカテゴリーで行う場合は「is_category($category);」という関数を使えば良いのですが今回は固定ベージでやったので、この関数は使えません。

結局 WordPress の関数ではなく、php の環境変数を利用する事にしました。

if(preg_match('/^\/english\//',$_SERVER['REQUEST_URI'])){
    //英語の場合の記述

}else{
    //英語以外(日本語)の場合の記述

}

URI の部分が「/english/」で始まる場合は英語ですよ。と条件分岐をしました。

これを利用しているテーマフォルダ下の

header.php
sidebar.php
footer.php

の必要箇所に記述して英語用のメニューと日本語用のメニューを書き入れればグローバルメニューのコントロールが出来ます。

コメント

タイトルとURLをコピーしました