wordpressで、複数のヘッダーをページによって切り替えたいと考えています。
・共通ヘッダーのみ
・共通ヘッダー+可変ヘッダー01
・共通ヘッダー+可変ヘッダー02
可変ヘッダーの場合構造的には、下記のようになります。
|共通ヘッダー(header.php)|
|可変ヘッダー(header-01.php)|
|共通ヘッダー(header.php)|
可変ヘッダーが共通ヘッダーの間でなければ、
php
1<?php get_header(); ?> 2<?php get_header(01); ?>
のように出来ると思うのですが、
どうしても間に可変ヘッダーを入れないとレイアウトが崩れてしまいます。
共通ヘッダーを2つに分けて、可変ヘッダー+共通ヘッダー(下部)「header-01.php」
とすることも考えたのですが、可変ヘッダーがifの間に挟まっているため、
エラーが出てしまいます。
php
1<?php if ( has_nav_menu( 'top' ) ) : ?> 2<div class="navi-top"> 3 4<!-- 可変ヘッダー --> 5<?php get_template_part( 'template-parts/header/submenu', '01' ); ?> 6<!-- end 可変 --> 7 8</div><!-- .navi-top --> 9<?php endif; ?>
header.phpを更新すると他の部分も変更になるのが理想的なのですが、
何か良い方法はありますでしょうか?
<追記>
分解する前のheaderは下記の通りです。
真ん中あたりにある「可変ヘッダー」部分のパターンがいくつかあり、
変更になるページと必要ないページがあります。
複数あるので、header共通部分を都度変更するのは抜けるのがこわいので、
分解すると更新などが確実になるのでは…と希望しています。
php
1<!-- 共通ヘッダ(前半)--> 2<?php 3 4?> 5<html> 6<head> 7 8<?php wp_head(); ?> 9 10</head> 11 12<body <?php body_class(); ?>> 13<div id="page" class="site"> 14<a class="skip-link screen-reader-text" href="#content"><?php _e( 'Skip to content', 'twentyseventeen' ); ?></a> 15 16<header id="masthead" class="site-header" role="banner"> 17 18<?php get_template_part( 'template-parts/header/header', 'image' ); ?> 19 20<?php if ( has_nav_menu( 'top' ) ) : ?> 21<div class="navigation-top"> 22<div class="wrap"> 23<?php get_template_part( 'template-parts/navigation/navigation', 'top' ); ?> 24</div><!-- .wrap --> 25<!-- end 共通ヘッダ(前半)--> 26 27<!-- 可変ヘッダ--> 28<?php get_template_part( 'template-parts/header/submenu', 'product' ); ?> 29<!-- end 可変ヘッダ--> 30 31<!-- 共通ヘッダ(後半)--> 32</div><!-- .navigation-top --> 33<?php endif; ?> 34 35</header><!-- #masthead --> 36 37<!-- パンくず --> 38<?php get_template_part( 'template-parts/navigation/navigation', 'pankuzu' ); ?> 39 40 41<div class="site-content-contain"> 42<div id="content" class="site-content"> 43 44<!-- end 共通ヘッダ(後半)-->
使用テーマ:twenty-seventeen
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/08/17 03:13
退会済みユーザー
2017/08/17 11:45
2017/08/18 04:37
2017/08/22 06:50