- 更新日: 2016年12月14日
- WordPress
WordPressをTwitter Bootstrapでレスポンシブデザイン対応
WordPress で運営しているブログを Twitter Bootstrap を用いて、レスポンシブデザインに対応する Tips です。Bootstrap を用いると、比較的簡単に WordPress をモバイル対応のレスポンシブデザインにできます。
Bootstrap The world’s most popular mobile-first and responsive front-end framework.
— 環境 —
WordPress 4
Twitter Bootstrap 3.3.7
Twitter Bootstrap ダウンロードと設置
Twitter Bootstrap をダウンロードして、以下に設置します。
1 2 3 |
/path/to/wordpress_theme/lib/bootstrap-3.3.7-dist |
WordPress テーマを git 管理していれば、lib フォルダを .gitignore に追加。
.gitignore
1 2 3 |
/lib |
functions.php で Bootstrap 用の CSS/JS 呼び出しをエンキュー
wp_enqueue_style(), wp_enqueue_script() 関数でスタイル/スクリプトをキューに追加する関数を作成します。そして add_action() で wp_enqueue_scripts にフックします。
functions.php
1 2 3 4 5 6 7 8 |
/** * Twitter Bootstrap 用のスクリプトとスタイルをエンキュー */ function twitter_bootstrap_scripts() { wp_enqueue_style( 'bootstrap-css', get_template_directory_uri() . '/lib/bootstrap-3.3.7-dist/css/bootstrap.min.css'); wp_enqueue_script( 'bootstrap-script', get_template_directory_uri() . '/lib/bootstrap-3.3.7-dist/js/bootstrap.min.js', array(), '1.0.0', true ); } add_action( 'wp_enqueue_scripts', 'twitter_bootstrap_scripts' ); |
これで、テンプレート内で wp_head() 等を呼び出すと、このフックした関数が実行されて Twitter Bootstrap の CSS/JavaScript の読み込みに必要なヘッダータグが出力される。
ヘッダーテンプレート内で wp_head() 呼び出し
ヘッダーテンプレートで wp_head() を呼び出します。
header.php
1 2 3 4 |
<head> // ... wp_head(); </head> |
これで functions.php でエンキューした関数が出力される。Twitter Bootstrap 呼び出しに必要な CSS、JavaScript を読み込むヘッダータグが出力されます。
DOCTYPE を HTML5 対応にする
header.php
1 2 |
<!DOCTYPE html> <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
上記コードが記載されているように、ヘッダーテンプレート(header.php)を編集します。
Twitter Bootstrap のグリッドレイアウトに必要なクラス指定を追加
各々テンプレートで、Bootstrap のグリッドレイアウトに必要となる CSS クラスを指定していきます。以下、記事テンプレート(single.php)での例です。
single.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php get_header(); ?> <div class="container"> <div class="row"> <div class="col-xs-12 col-sm-8"> <!-- content --> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <div class="main-article"> <?php the_content(); ?> </div> <?php endwhile; ?> <?php else : ?> 記事がありません <?php endif; ?> <!-- /content --> </div> <div class="col-xs-12 col-sm-4"> <?php get_sidebar(); ?> </div> </div> </div> <?php get_footer(); ?> |
Bootstrap が提供する col-xs-12, col-sm-8, col-sm-4 といったCSSクラスを使って、グリッドデザインをレイアウトします。同じように category.php や archive.php などの他のテンプレートも必要に応じて対応。これでデスクトップでは2カラム、モバイルでは1カラムのリキッドデザインとなります。
Bootstrap のグリッドについては公式ドキュメントを参考。
Grid system Bootstrap
- – 参考リンク –
- 【やって覚える】BootstrapでWordPressサイトをレスポンシブデザイン化する方法 | INSIDE YUKARI
- WordPress Javascriptファイルをロードする | MORILOG
- WordPress の関連記事
- WordPressブログに更新日を表示
- WordPressにOGP設定・プラグインなしでFacebook/Twitter Cards対応
- WordPressでパンくずリスト・複数の親子カテゴリーを表示
- WordPressでプライベートな非公開ブログを運用
- BackWPupでエラー ERROR: Dropbox API: (35)
- ブログ・WordPress記事をFacebookに自動投稿するIFTTT設定
- RSS Graffitiが終了…代替にはIFTTTが使える
- WordPressで親カテゴリーに属する子カテゴリーの一覧を出力
- wp_list_categoriesでリンクなしで投稿数ゼロのカテゴリを表示 – WordPress
- WordPressでmeta descriptionを設定(プラグインなし版)
Leave Your Message!