前回はブートストラップのサンプル(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にコピーします。
①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にリネーム
②下記のように修正します。
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の下記部分をコピーし、新規投稿します
今回は使用しませんが、後で使用するので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(); ?>
表示確認
- 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を使って自作テーマ作成
- (1)全体概要
- (2)ブートストラップのサンプルを使ってindex.phpを作成
- (3)header.php、sidebar.php、footer.php、index.phpのテンプレートファイル作成
- (4)JavaScriptインクルードの設定
- (5)投稿本文表示用のテンプレートファイルを作成
- (6)単一投稿用(single.php)のテンプレートファイル作成
- (7)固定ページ用(page.php)のテンプレートファイル作成
- (8)検索結果表示用(search.php)のテンプレートファイル作成
- (9)アーカイブ表示用(archive.php)のテンプレートファイル作成
- (10)カテゴリー表示用(category.php)のテンプレートファイル作成
- (11)WordPressのメニュー画面でナビゲーションメニューを設定
- (12)サイトタイトル、キャッチフレーズを表示できるようにheader.phpを修正
- (13)カスタムヘッダー画像を使えるようにheader.phpを修正
- (14)404.phpテンプレートファイルを作成
- (15)記事タイトル部分のCSS設定
- (16)記事メタデータ部分のCSS設定
- (17)記事本文部分のCSS設定
- (18)前後のページへのリンクのCSS設定
- (19)前後の投稿へのリンクのCSS設定
- (20)コメント投稿フォーム、コメント表示部のCSS設定
- (21)ウィジェット部のCSS設定
- (22)アーカイブページのCSS設定
- (23)画面を左右にスライドさせるボタンのCSS設定
- ~Bootstrap3、自作テーマ作成、TwentyFourteen
- Bootstrapのフリーのテーマを使ってデザインを簡単にカスタマイズ
- ~Bootstrap3のスタイルをカスタマイズ
- 簡単なショートコードを作ってみる
- ~ショートコードの作り方
- ショートコードを使って関連記事のリンクを自動で挿入
- ~ショートコードの簡単なサンプル
- ショートコードを使ってディレクトリ内のファイル名を取得し、投稿内にリンクを挿入
- ~カスタムフィールド利用、PHPで日本語文字列検索などのコーディング
- WordPress投稿内でAngularJSを使用
- ~AngularJS、Bootstrap、アコーディオン
- Bootstrap3で作成したナビゲーションメニューをAngularJSに変更
- ~AngularJS、Bootstrap、自作テーマheder.php
- WordPressでAngularJSを使ったGoogleマップを使えるようにする
- ~AngularJSを使って投稿内にGoogleマップ
WordPresssショートコード
AJAX、AngularJSなどその他応用
- Ruby on Rails(他サイト)
- ~構築、CMS、Bootstrap、AngularJS
- テーマ作成に関わるメモ
- WordPressコアの各ファイルの概要
- WordPressで使われるテーブル一覧
- WordPressのwpdbクラスを使ってテーブル操作
- WordPressの子テーマの概要、作り方
- ヘッダー、フッターにナビゲーションメニューを追加
- カテゴリーやアーカイブページなどに前後のページへのリンクを追加
- ブートストラップ3を使って自作テーマ作成
- (1)全体概要
- (2)ブートストラップのサンプルを使ってindex.phpを作成
- (3)header.php、sidebar.php、footer.php、index.phpのテンプレートファイル作成
- (4)JavaScriptインクルードの設定
- (5)投稿本文表示用のテンプレートファイルを作成
- (6)単一投稿用(single.php)のテンプレートファイル作成
- (7)固定ページ用(page.php)のテンプレートファイル作成
- (8)検索結果表示用(search.php)のテンプレートファイル作成
- (9)アーカイブ表示用(archive.php)のテンプレートファイル作成
- (10)カテゴリー表示用(category.php)のテンプレートファイル作成
- (11)WordPressのメニュー画面でナビゲーションメニューを設定
- (12)サイトタイトル、キャッチフレーズを表示できるようにheader.phpを修正
- (13)カスタムヘッダー画像を使えるようにheader.phpを修正
- (14)404.phpテンプレートファイルを作成
- (15)記事タイトル部分のCSS設定
- (16)記事メタデータ部分のCSS設定
- (17)記事本文部分のCSS設定
- (18)前後のページへのリンクのCSS設定
- (19)前後の投稿へのリンクのCSS設定
- (20)コメント投稿フォーム、コメント表示部のCSS設定
- (21)ウィジェット部のCSS設定
- (22)アーカイブページのCSS設定
- (23)画面を左右にスライドさせるボタンのCSS設定
- Bootstrapのフリーのテーマを使ってデザインを簡単にカスタマイズ
- ブートストラップ3を使って作成したナビゲーションメニューをAngularJSを使う形に変更する方法
- 投稿にメタボックスを追加する方法