このページでは、メインインデクスのテンプレート(index.php)、テーマヘッダー(header.php)、テーマフッター(footer.php)、テーマのための関数(functoins.php)、旅行プランのサイドメニュー(menu_plan.php)を作成していきます。
(1)ヘッダー画像の準備
画像のサイズは、このサイトデザインで作成される場合、幅:980px以上で高さは自由です。画像ファイルは、WPインストールフォルダに入れますが、以下3つの方法の中から選択して下さい。
A.FTPソフトでアップロード
フリーソフトとして、著名なFFFTPがあります。
B.WPのメディアライブラリー
外観 → メディアライブラリー → 新規追加 で表示された領域に、画像ファイルをドラッグするか、ローカルPCの画像のパスを指定します。
C.レンタルサーバーのファイルマネージャを利用する。
ヘッダー画像を表示させる方法は、後述します。ここでは、画像をサーバーにアップしておきます。
変更を保存後、固定ページまたは固定ページ一覧でホームがフロントページとして表示されれば、サイトのトップページが中身はありませんが、ページとしては出来ました。
(4)インデックステンプレートの作成
管理画面 → 外観 → テーマの編集 → メインインデックステンプレートをクリックし、編集画面に以下のhtmlを記述する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>;charset=<?php bloginfo ('charset'); ?>"> <meta name="viewport" content="width=device-width,maximum-scale=1"> <title><?php bloginfo('name'); ?><?php wp_title(); ?></title> <link rel="stylesheet" href="<?php bloginfo ('stylesheet_url'); ?>" type="text/css" /> <?php wp_head(); ?> </head> <body> <!-- コンテナ --> <div id="container"> <div id="site_title"> <p class="top_line"> <svg width="14" height="14" xmlns="http://www.w3.org/2000/svg"> <circle cx="7" cy="7" r="7" fill="#00f" /> </svg> </p> <span>WordPress 固定ページの設計・スマホ対応</span> </div> <!-- ヘッダー --> <?php if(is_home() || is_front_page()): ?> <img id="header_img" src="<?php bloginfo('template_url'); ?>/image/header.jpg" title="*****" alt="*****"> <?php else: ?> <img src="<?php bloginfo('template_url'); ?>/image/header_sub.jpg" alt="*****"> <?php endif; ?> <!-- ナビゲーションバー --> <div id="nav"> <?php wp_nav_menu(array('menu' => 'global_menu')); ?> </div> <!-- パンくず リスト --> <div id="pan_list"> <a href="<?php echo get_option('home'); ?>">ホーム</a> <?php foreach ( array_reverse(get_post_ancestors($post->ID)) as $parid ) { ?> <a href="<?php echo get_page_link( $parid );?>" title="<?php echo get_page($parid)->post_title; ?>"> <?php echo get_page($parid)->post_title; ?></a> <?php } ?> <?php the_title(''); ?> </div> <!-- コンテンツ --> <div id="content"> <?php if(have_posts()):while(have_posts()):the_post(); ?> <div class="post"> <?php the_content(); ?> </div> <?php endwhile;endif; ?> </div> <!-- フッター --> <footer> Copyright © 固定ページ中心の設計/スマホ対応 For<a href="mailto:<?php bloginfo('admin_email'); ?>"> ********</a>, All Rights reseved. </footer> </div> <!-- コンテナ END --> </body> </html> |
- 行番
- 説 明
- 1~2
- html5の宣言
- 5
- viewportは表示領域のことで、機種のサイズを取得して、メディアクエリーとの組合せでスマホやタブレットに対応した表示が可能に。
- 12以降
- ホームページの内容を表示する部分
- 14~18
- ヘッダー画像の上に表示される部分。svgタグは、css3の描画
- 22~26
- ヘッダー画像表示。トップページとその他ページをphpの条件分岐で画像が変わるように表示。
- 28~30
- ヘッダーの下に表示するメインメニュー。テーマの為の関数funtions.phpと連動。
- 32~39
- 表示中のページがサイトのどの位置かを示すパンくずリスト。
- 41~47
- 固定ページの編集画面に入力された記事を表示。41行目のid名は任意。
- 49~51
- フッター部。
2)ヘッダーとフッターのテンプレート
(1)テーマヘッダー(header.php)の作成
管理画面 → 外観 → テーマの編集 → テーマヘッダーをクリックし、編集画面に(4)インデックステンプレート1行目から39行目をコピーして貼り付け、下段のファイルを更新をクリック。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>;charset=<?php bloginfo ('charset'); ?>"> <meta name="viewport" content="width=device-width,maximum-scale=1"> <title><?php bloginfo('name'); ?><?php wp_title(); ?></title> <link rel="stylesheet" href="<?php bloginfo ('stylesheet_url'); ?>" type="text/css" /> <?php wp_head(); ?> </head> <body> <!-- コンテナ --> <div id="container"> <div id="site_title"> <p class="top_line"> <svg width="14" height="14" xmlns="http://www.w3.org/2000/svg"> <circle cx="7" cy="7" r="7" fill="#00f" /> </svg> </p> <span>WordPress 固定ページの設計・スマホ対応</span> </div> <!-- ヘッダー --> <?php if(is_home() || is_front_page()): ?> <img id="header_img" src="<?php bloginfo('template_url'); ?>/image/header.jpg" title="*****" alt="*****"> <?php else: ?> <img src="<?php bloginfo('template_url'); ?>/image/header_sub.jpg" alt="*****"> <?php endif; ?> <!-- ナビゲーションバー --> <div id="nav"> <?php wp_nav_menu(array('menu' => 'global_menu')); ?> </div> <!-- パンくず リスト --> <div id="pan_list"> <a href="<?php echo get_option('home'); ?>">ホーム</a> <?php foreach ( array_reverse(get_post_ancestors($post->ID)) as $parid ) { ?> <a href="<?php echo get_page_link( $parid );?>" title="<?php echo get_page($parid)->post_title; ?>"> <?php echo get_page($parid)->post_title; ?></a> <?php } ?> <?php the_title(''); ?> </div> |
(2)テーマフッター(footer.php)の作成
管理画面 → 外観 → テーマの編集 → テーマフッターをクリックし、編集画面に(4)インデックステンプレート48行目から54行目をコピーして貼り付け、下段のファイルを更新をクリック。
3)テーマのための関数とサイドメニュー及びウィジェット
(1)テーマのための関数(functions.php)
管理画面 → 外観 → テーマの編集 → テーマの為の関数をクリックし、編集画面に以下のphp文を記述し、下段のファイルを更新をクリック。
1 2 3 4 5 6 | <?php //カスタムメニュー register_nav_menus(array('global_menu' => 'ナビゲーションバー')); add_filter( 'show_admin_bar', '__return_false' ); register_sidebar(); ?> |
3~4行目:外観 → メニューで設定したメニューをリスト形式で出力する関数です。
5行目:外観 → ウィジェットを呼び出す
(2)旅行プランのサイドメニュー(menu_plan.php)作成
管理画面 → 外観 → テーマの編集 → menu_plan 固定ページテンプレートをクリックし、5行目までは(4)で出来ているので、6行目以降を編集画面に以下のphp文を記述し、下段のファイルを更新をクリック。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php /* Template Name: menu_plan */ ?> <div id="sumaho_menu"> <div id="sumaho_menu_open" onclick="display_yes()">Menu Open</div> <div id="sumaho_menu_close" onclick="display_close()">Menu close</div> </div> <div id="side_menu_box"> <ul class="side_menu_all"> <li class="side_menu_shosai"><a href="<?php echo get_permalink(0); ?>">旅行プラン</a></li> <li class="side_menu_shosai"><a href="<?php echo get_permalink(0); ?>">フランス</a></li> <li class="side_menu_shosai"><a href="<?php echo get_permalink(0); ?>">イギリス</a></li> <li class="side_menu_shosai"><a href="<?php echo get_permalink(0); ?>">イタリア</a></li> </ul> </div> |
※ WPでは外観のメニューで作成出来ますが、この例ではパーツテンプレートとして作成しています。
- 行番
- 説 明
- 6~9
- パソコン以外の画面は小さいので、サイドメニューを一時的に非表示にしたり、再表示のコントロールボタン
- 7
- Menu Openをクリックした時、サイドメニューを上部に表示(JavaScript)
- 8
- Menu Closeをクリックした時、サイドメニューを非表示(JavaScript
- 12~15
- permalink()の括弧内の数値は、そのページを表示する「?page_id=00」の数値。