【WordPress】一つのWPで複数のTOPページを構築するには

WPサイトで複数のTOPページを設置したいという案件があったので備忘録に。
投稿記事の内容は同じでTOPのヘッダーとTOPのURLだけ変えたいというもの。
ただし下層ページのヘッダーも別デザインにしたい。
WPは一つで運用したい。

元のサイト:hogehoge.com
追加したいTOP:hogehoge.com/test

TOPページだけなら固定ページで作成するだけだが、下層コンテンツも内容はそのままでヘッダー等のデザインは変えたいということ。
WPにはプラグインでマルチサイト機能がありますが、管理画面が複雑になってしまうので今回は複数のheader.phpを使いcookieを使用して条件分岐させる方法で対処。

1.test.phpというテンプレートを新規作成し、そこに新たなTOPデザインをコーディング
2.hogehoge.com/testを設置するため、固定ページに新規TOPのtestを作成しテンプレートをtest.phpに設定。
タイトルのみで内容は未記述のまま
3.header-2.phpを作成しtest.php用のデザインに差し替え
グロナビ等のhomeへのリンクをhogehoge.com/testに。

3-2.header-2.php内にcookieを設定。

※cookieの記述は1行目に書かないと無効に

4.test.php冒頭のphpコード

5.投稿ページ、固定ページのテンプレート1行目にcookieを取得するコードを記述。
フロントページは除く(ここ重要)

解説:

最初にhogehoge.com/testを踏んだ場合にcookie情報が書き込まれ、以降の下層ページでも別デザインのheader-2.phpが反映される。
ただしcookieが有効の間は同じブラウザで元のheader.phpは読まれないため、元のサイトは一定時間開かない。
今回は限定サイトということなのでこれでOK。
元サイトも見せる場合はheader.phpにcookieを消すコードを記述すればよい。

今回の対処は
cookieの書き込み:setcookie(“sitename”,”hogehoge”,time()+60*60);
cookieの取得:$_COOKIE["sitename"]
WordPressでのheader分岐:

条件はいくらでも追加できる。
WordPress用の構文を使うこと。
「:」と「;」の扱い注意。