ブートストラップ3を使って自作テーマ作成(3)header.php、sidebar.php、footer.php、index.phpのテンプレートファイル作成

前回はブートストラップのサンプル(offcanvas)を使って、index.phpファイルを作成しました。今回は、そのindex.phpとTwentyFourteenのテンプレートファイルを使って、header.php、footer.php、sidebar.php、index.phpファイルを作成します。

※目次をクリックすると目次の下部にコンテンツが表示されます。

今回作成するレイアウト構成
●前回作成したindex.php(ブートストラップのサンプル(offcanvas))のレイアウト概要
 

<head>①ヘッド部、メタタグ</head>
<body>
<div class="navbar navbar-fixed-top navbar-inverse" role="navigation">
  ②ナビゲーションメニュー
</div><!-- /.navbar -->
<div class="container">
  <div class="row row-offcanvas row-offcanvas-right">
    <div class="col-xs-12 col-sm-9">
      <p class="pull-right visible-xs">
        <button type="button" class="btn btn-primary btn-xs" data-toggle="offcanvas">Toggle nav</button>
      </p>
      <div class="jumbotron">
        ③サイトタイトル部分
      </div>
      <div class="row">
        ④メインエリアコンテンツ部分
      </div><!--/row-->
    </div><!--/span-->
    <div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar" role="navigation">
      ⑤右サイドバー部
    </div><!--/span-->
  </div><!--/row-->
  <footer>⑥フッター部</footer>
</div><!--/.container-->
</body>

 
上記のうち、ブートストラップ3のgridによる全体レイアウト(class=”col-xs-・・・”の部分)設定と②、③、④の部分を流用します。それ以外の部分はTwentyFourteenのテーマのテンプレートファイルを流用します。
 
●今回作成するレイアウト、テンプレートファイル構成概要
 
ブートストラップ3のgridを使ってレスポンシブデザインでレイアウトを構成します。
 
ここでは、2カラム構成で左側をメイン、右側をサイドバーとして構成します。
 
スマートフォンなど768px以下の場合(”col-xs-N”)とそれ以上の大きさのデバイス(”col-sm-N”)で各エリアの幅を割合を変えています。

①<head>メタタグ</head>
②<body>
③ナビゲーションメニュー
④<div class="container">
⑤  ヘッダータイトル部
⑥  <div class="row row-offcanvas row-offcanvas-right">
⑦    <div class="col-xs-12 col-sm-9">コンテンツメインエリア</div>
⑧    <div class="col-xs-6 col-sm-3">右サイドバー</div>
⑨  </div><!-- #main -->
⑩  <footer></footer>
⑪</div>
⑫</body>

①~⑥をheader.phpで生成
⑧をsidebar.phpで生成
⑨~⑫をfooter.phpで生成
 
index.phpで下記を行います
 get_header()でheader.php読込
 ⑦部分(投稿、固定ページ)読込
 get_sidebar()でsidebar.php読込
 get_footer()でfooter.php読込

header.phpの作成
先頭から<head>タグの終わりまではTwentyFourteenのheader.phpを流用し、ヘッダーメニューやヘッダータイトル部はブートストラップのサンプルを流用して作成します。
 
①TwentyFourteenのheader.phpをコピーし、先頭からheadタグの終わりまでをそのまま流用。それ以降は削除します。
 
②前回ブートストラップのサンプルをコピーしたindex.phpのbodyタグから<div class=”jumbotron”>・・・</div>(<div class=”row”>の上まで)までを流用して一部構成を変更して下記コードをheader.phpにコピーします。
 

<body>
<div class="navbar navbar-fixed-top navbar-inverse" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Project name</a>
    </div>
    <div class="collapse navbar-collapse">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#about">About</a></li>
        <li><a href="#contact">Contact</a></li>
      </ul>
    </div><!-- /.nav-collapse -->
  </div><!-- /.container -->
</div><!-- /.navbar -->

<div class="container">
  <p class="pull-right visible-xs">
    <button type="button" class="btn btn-primary btn-xs" data-toggle="offcanvas">Toggle nav</button>
  </p>
  <div class="jumbotron">
    <h1>Hello, world!</h1>
    <p>This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.</p>
  </div>
  <div class="row row-offcanvas row-offcanvas-right">

sidebar.phpの作成
Twenty_Fourteenでは二つのサイドバーを使用していてsidebar.phpとsidebar-content.phpがあります。
 
sidebar.phpはナビゲーションメニューを表示できるようになっていたりするのですが、よりシンプルなsidebar-content.phpを流用する形で作りなおしました。
 
①TwentyFourteenのsidebar-content.phpコピーしてsidebar.phpにリネーム
 
②下記のように修正します。

<div class="col-xs-6 col-sm-3 sidebar-offcanvas" id="sidebar" role="navigation">
  <?php
  if ( ! is_active_sidebar( 'sidebar-2' ) ) {
        return;
  }
  ?>
  <div id="content-sidebar" class="content-sidebar widget-area" role="complement
ary">
    <?php dynamic_sidebar( 'sidebar-2' ); ?>

  </div>
</div>

footer.phpの作成
TwentyFourteenのfooter.phpをコピーして流用します。

index.phpの修正
1)index.phpのコンテンツ本文を投稿にコピー
 
今回は使用しませんが、後で使用するのでindex.phpのコンテンツ本文部分をWordPress管理画面で新規投稿として保存しておきます。
 
index.phpの下記部分をコピーし、新規投稿します

<div class="row">
  <div class="col-6 col-sm-6 col-lg-4">
    <h2>Heading</h2>
    :
  </div><!--/span-->
</div><!--/row-->

 
2)index.phpの再作成
 
TwentyFourteenのindex.phpを一部流用して、下記のように再作成します。

<?php get_header(); ?>
<div class="col-xs-12 col-sm-9">
  <?php
    if ( is_front_page() && twentyfourteen_has_featured_posts() ) {
    // Include the featured content template.
    get_template_part( 'featured-content' );
  }
  ?>
  <?php
  if ( have_posts() ) :
    while ( have_posts() ) : the_post();
      get_template_part( 'content', get_post_format() );
    endwhile;
    twentyfourteen_paging_nav();
  else :
   get_template_part( 'content', 'none' );
  endif;
  ?>
</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

表示確認
ブラウザでアクセスし、ヘッダー部、右サイドバー部、フッター部が正常に表示される事を確認します。
 
「ブートストラップ3を使って自作テーマ作成」の目次へ

関連記事の目次
VPSサーバーでスナップショットを取得
~障害に備え、リカバリーポイントを作成。
VPSサーバーにログインして、設定内容を確認
~グローバルIPアドレス確認、SSHキーを作成。
VPSサーバーにSSHでログイン
~Tera Term、SSH、公開鍵認証方式
yumコマンドで最新のパッケージにアップデート
~全パッケージを最新にアップデート
Apacheのインストール
~yumコマンドでApacheインストール、iptablesでファイアウォールの設定
PHPとMySQLをインストール
~yumコマンドでPHP、MySQLインストール
WinSCPを使ってWordPressをアップロード
~WinSCPをクライアントPCにインストール、ファイルアップロード方法
WordPressをインストール
~MySQLでWordPress用データベース作成、wp-config.phpファイルの設定
CentOSのファイアウォール設定
~iptablesを使ってネットワークフィルタリング設定を一から行う
OpenSSHの設定をよりセキュアに
~ログイン制限、ポート変更、認証方式
ApacheでTCPのTraceメソッドを無効にする
~Apacheの設定変更、Telnetで動作確認
ヘッダーにApacheバージョンが表示されないようにする
~Apacheの設定変更、Telnetで動作確認
Apacheでディレクトリ内一覧表示を無効にする
~autoindex_moduleのロードを無効にする
セキュリティを考慮し、MySQLの匿名ユーザーにパスワードを設定、または削除
~MySQLの匿名ユーザーにパスワードを設定、または削除
PHPのバージョンが表示されないようにする
~php.iniの設定変更
WordPressディレクトリのパーミッションをセキュアに
~WordPress用ディレクトリの所有グループ、ユーザー、パーミッション設定
パーマリンク設定時のApache設定
~WordPressパーマリンクの設定、Apache .htaccessの設定
WordPressテーマの選定
~テーマ追加の特徴フィルターの項目、テンプレートキング
WordPressで画像のアップロード、サイズ調整、リンクを設定
~アップロード画像の画像サイズ、サムネイル、画像編集、リンク設定
更新可能なRPMパッケージのリストをメールで送信する
~yumコマンド、Bashスクリプト、Cron
Linuxでディスク使用量が多いディレクトリを調べる方法(1)
~du --max-depth
Linuxでディスク使用量が多いディレクトリを調べる方法(2)
~duコマンド、sortコマンド
WordPressデータベースのバックアップとリストア
~コマンドラインでバックアップ、リストア
WordPressのバージョンアップと旧バージョンへの戻し
~データベースとディレクトリのバックアップ、リストア
BashスクリプトでWordPressデータベースを自動バックアップ
~MySQLデータベースをBash、Cronを使って自動バックアップ、メール通知
BashスクリプトでDos攻撃など大量アクセスのログを検知
~Apacheアクセスログ、Dos、Cron、メール通知
テーマ作成
 
ブートストラップ3を使って自作テーマ作成
~Bootstrap3、自作テーマ作成、TwentyFourteen
Bootstrapのフリーのテーマを使ってデザインを簡単にカスタマイズ
~Bootstrap3のスタイルをカスタマイズ
 
WordPresssショートコード
 
簡単なショートコードを作ってみる
~ショートコードの作り方
ショートコードを使って関連記事のリンクを自動で挿入
~ショートコードの簡単なサンプル
ショートコードを使ってディレクトリ内のファイル名を取得し、投稿内にリンクを挿入
~カスタムフィールド利用、PHPで日本語文字列検索などのコーディング
 
AJAX、AngularJSなどその他応用
 
WordPress投稿内でAngularJSを使用
~AngularJS、Bootstrap、アコーディオン
Bootstrap3で作成したナビゲーションメニューをAngularJSに変更
~AngularJS、Bootstrap、自作テーマheder.php
WordPressでAngularJSを使ったGoogleマップを使えるようにする
~AngularJSを使って投稿内にGoogleマップ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です