はじめに
WordPressを本格的なCMSとして利用する上で、避けることのできないのがマルチサイトの管理・構築です。サイトの規模が大きくなるにつれて、内部的には複数のサイトに分けた方が効率よくコンテンツを管理できるケースが多くなるためです。
WordPressには、複数のサイトを管理・構築するための機能として、ネットワーク化(マルチサイト)とカスタム投稿タイプの機能が用意されており、サイトの構造や目的に応じて選択することができます。ただし、いずれの機能もプリミティブで自由度の高いものとなっており、使いこなしが難しいのが実情です。Movable Typeのマルチサイトの機能と比較され、「使いにくい」と言われることもありますが、それもその自由度の高さゆえです。ネットワーク化(マルチサイト)とカスタム投稿タイプの機能を活用することにより、より多様な形でコンテンツを管理できるようになります。
そこで、本書ではネットワーク化(マルチサイト)やカスタム投稿タイプの特徴を理解するために、サイトを構築しながら、複数のブログを管理・構築するテクニックを解説しています。
また、構築したサイトをさらに発展させていく上で必要となる、ツリー構造でコンテンツを管理する方法や、スマートフォン&タブレットに最適化する方法、ユーザーのロールと権限の設定、管理画面のカスタマイズ、カスタムタクソノミーの活用など、WordPressをCMSとして本格的に利用するために必要なテクニックをまとめました。
サンプルについて
- サンプルとして作成するテーマや使用するコンテンツのデータは、サポートサイトからダウンロードすることができます。完成テーマはステップごとに収録してあります。
- サンプルの作成にはWordPress 3.3.1を使用しています。
- パーマリンクを設定し、フレンドリーURLでサイトを構築しますので、サーバーで「mod_rewrite」と「.htaccess」が機能する必要があります。
- 生成するページはHTML5+CSS3で記述し、主要ブラウザ(Internet Explorer、Firefox、Chrome、Safari、Opera および スマートフォンやタブレットのブラウザ)に対応するようにしています。
参考書籍
- 本書ではマルチサイトやカスタム投稿タイプなどの解説に重点を置くため、WordPressの基本的な機能の解説は詳しく行っていません。
- WordPressの基本機能を利用したシングルサイトの構築に関しては、「WordPress 3 サイト構築スタイルブック」を参考にしてください。
- HTMLとスタイルシート(CSS)についても本書では詳しく解説していませんので、「CSS3 スタンダード・デザインガイド」や「XHTML/HTML+CSS スーパーレシピブック」を参考にしてください。
もくじ
Chapter1 ネットワークによる複数ブログの管理と構築
INTRO 複数ブログの管理と構築
1-1 ネットワークで構築するブログと基本設定
1-1-1 ネットワークの設定
1-1-2 functions.php による各種機能の有効化
1-1-3 サイトごとの設定と記事の投稿
1-2 ブログの構築
1-2-1 ページの基本構造
1-2-2 ブログのトップページ
1-2-3 アーカイブページ
1-2-4 記事の個別ページ
1-2-5 固定ページ
1-3 ブログごとのカスタマイズ
1-3-1 管理画面の設定によるデザインのカスタマイズ
1-3-2 子テーマによるデザインのカスタマイズ
1-3-3 条件分岐によるデザインのカスタマイズ
1-4 グローバルナビゲーション
1-4-1 ルートサイトへのリンク
1-4-2 各ブログへのリンク[get_last_updated() を利用する方法]
1-4-3 各ブログへのリンク[get_blogs_of_user() を利用する方法]
1-5 ルートページの作成
1-5-1 ルートページのカスタマイズ
1-5-2 ブログごとに最新記事を表示
1-5-3 ブログごとに1件の最新記事を表示
1-5-4 ブログごとにヘッダー画像を表示
1-5-5 すべてのブログの記事を投稿日時順にリストアップ
1-6 集約サイトを利用したルートページの作成
1-6-1 集約サイトの構築
1-6-2 すべてのブログの記事を投稿日時順にリストアップ
1-6-3 記事を投稿したブログのタイトルを色分け表示
1-6-4 すべてのブログの記事をカテゴリー別/タグ別/月別にリストアップ
1-6-5 ブログごとに最新記事を表示
Chapter2 カスタム投稿タイプによる複数ブログの管理と構築
2-1 カスタム投稿タイプで構築するブログと基本設定
2-1-1 サイトの設定
2-1-2 functions.phpの設定
2-1-3 カスタム投稿タイプとタクソノミーの設定
2-2 ルートページの作成
2-2-1 ページの基本構造とグローバルナビゲーションバー
2-2-2 すべてのブログの記事を投稿日時順にリストアップ
2-2-3 各ブログへのリンク[get_post_types()を利用する方法]
2-2-4 各ブログへのリンク[カスタムメニューを利用する方法]
2-3 ブログの構築
2-3-1 ブログのトップページ
2-3-2 記事の個別ページ
2-3-3 ブログのサイドバー
2-4 アーカイブページの作成
2-4-1 カテゴリーページ
2-4-2 タグページ
2-4-3 月別ページ
2-5 ルートページのカスタマイズ
2-5-1 ブログごとに最新記事を表示
2-5-2 ブログごとに1件の最新記事を表示
2-5-3 ブログごとにヘッダー画像を表示
2-6 グローバルカテゴリー
2-6-1 グローバルカテゴリーの作成
2-6-2 グローバルカテゴリーのカテゴリーページ
2-6-3 グローバルカテゴリーのトップページ
Chapter3 ツリー構造のページの管理と構築
3-1 固定ページを利用したサイト構築
3-2 ツリー構造のサイト
3-2-1 サイトの設定
3-2-2 ページの投稿と表示順の指定
3-2-3 ルートページの作成
3-2-4 親ページの作成
3-2-5 子ページの作成
3-3 ページ内のコンテンツをツリー構造で管理する
3-3-1 ページ内のコンテンツの管理と表示
3-3-2 ページ内リンクを設定する
Chapter4 スマートフォン&タブレット最適化
4-1 スマートフォン&タブレットに最適化する
4-2 PC 用のサイトをそのまま表示する
4-3 iPhone 風のデザインで表示する
4-4 レスポンシブWeb デザインで表示する
4-4-1 閲覧環境に合わせたスタイルシートの適用
4-4-2 スマートフォン用のデザインの指定
4-4-3 タブレット用のデザインの指定
4-4-4 子テーマにスマートフォン用の設定を追加する
4-5 スマートフォン&タブレット専用のテーマを作成する
4-5-1 専用テーマの作成とプラグインのインストール
4-5-2 スマートフォン&タブレットに表示するページの作成
Chapter5 ユーザーと管理画面
5-1 複数ユーザーによる管理と管理画面の表示
5-1-1 ユーザーの作成とロールの設定
5-1-2 ロールごとに利用できる機能と管理画面の表示
5-2 オリジナルのロールの作成
5-2-1 ロールの作成
5-2-2 ロールに付与できる権限
5-2-3 最小限必要な権限の設定
5-2-4 記事を管理する権限の設定
5-2-5 記事の管理に関連した権限の設定
5-2-6 固定ページとリンクを管理する権限の設定
5-2-7 テーマ/プラグイン/ユーザーを管理する権限の設定
5-2-8 データのバックアップに関する権限の設定
5-2-9 オプション設定と更新に関する権限の設定
5-3 カスタム投稿タイプを管理する権限の作成
5-4 カスタムタクソノミーを管理する権限の作成
5-5 ネットワークにおけるユーザーの管理
Chapter6 カスタマイズ+α
6-1 サイドバーから不要なメニューを削除する
6-2 編集画面から不要な項目を削除する
6-3 編集画面に独自の入力項目を追加する
6-3-1 メタボックスと入力フィールドの作成
6-3-2 メタボックスと入力フィールドを増やす
APPENDIX スタイルシートの設定
TAG & FUNCTION 機能別テンプレートタグ&関数一覧
INDEX 索引