「WordPress始めたいんだけど」と言われたら


「ホームページ作りたいんだけどさ、とりあえずWordPress使えばいいんだよね?」
というように、WordPressはとりあえずホームページを作るならコレ！と思われがちだが、
一概にそういう訳でもない(そりゃそうだ)上に、持ち前のレベルと要望が見合わないことがあったりする。

以下の観点から、「WordPressでサイトを作りたい」人が最初の段階でどこまでできるかを考察、相応しいサイト仕様へと導くフローを考えてみた。
（ちょっと荒削りすぎて直したい気もあるのだけどアドベント・カレンダーという締め切りがあるので一旦ココで上げてるしかないのであった。）

* どの程度のスキルならどれくらいのカスタマイズが可能であるか
* WordPressの選択が適するサイトの要件であるか(向き不向き)

# 到達しているレベルを把握する
## STEP1.サイト構築におけるサーバサイドの最低限の知識がある。
WordPressでサイトを立ち上げるためにサーバを用意し、wp-adminの画面までたどり着ける人がここに該当する。
自力でできなくても、誰かやってくれる人が確保できるのでればそれでOK

**「サーバーとかってどうする予定?」**と聞いてみよう。
### STEP1の段階でできること
* 記事の入稿  
まあ**そりゃそうですよね**。  
管理画面をいろいろいじくり回していく内に使い方が分かるようになるのでSTEP2に進むのも時間の問題です。  

## STEP2.GUI(管理画面から)であればWordPressは動かすことができる
ここまでできればよほど凝らない限りは粗方のことができる。また、「WordPress始めたいんだけど」みたいなことを言う大抵の人がここに該当する。
逆に考えると、STEP2まで到達しているのであればSTEP2内で完結できるサイト構築をすれば良い。

管理画面(wp-admin)を開いて「**これ、いじれそう?**」と聞いてみよう

### STEP2の段階でできること  
単なるブログ記事の投稿だけでなく、ブログのカテゴリ設定、タグ設定、ユーザー設定等、ブログの構造を持たせることができるようになる。

* ページのカテゴリ設定  
カテゴリ設定を行なうと普通のブログ記事一覧とは別に、カテゴリ別ページを作ることができる。
* 投稿のタグ設定  
タグ設定ができるとタグ別ページを作ることができる。
* 固定ページの設定  
ブログ記事とは独立させたページを作ることができる。  
例えば「about me」などといったページを作る際は固定ページで作成すると良い。
* ユーザーの追加  
デフォルトでユーザーは一人いるが、更に追加をすることができる。  
ユーザーが登録されていることでユーザーの投稿一覧ページができる。
* テーマのインストール  
テーマをインストールし、デフォルトのテンプレートから好きなテンプレートに切り替えることができる。
* プラグインの追加  
プラグインを使えばサイトの拡張が容易にできる。
    * 記事の順番の入れ替え
    * スライドショーの追加
    * カテゴリの順番入れ替え など

## STEP3.コードが書ける
PHP、HTML、CSS、Javascriptが書ければ良いが、全てではなくいずれかが書けたり、サイト構築メンバー全体でカバーできれば問題ない。

### STEP3の段階でできること
* テンプレートの修正  
管理画面でカテゴリ、タグ、ユーザー等設定をすればデフォルトでそれぞれの記事一覧ページが生成される。  
WordPress側は設定されたテンプレートのデザインを参照してそれぞれのページを出力するが、これらを変えたいとなった場合、多少のコーディングが必要になる。
例えば、ユーザー毎の記事一覧ページはデザインを変えたいとなった場合、author.phpをいじれば良いという基本的な概念がある。(詳しくはテンプレート階層を参照 https://wpdocs.osdn.jp/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:wp-template-hierarchy.jpg)  
ユーザーの中でもこのユーザーのテンプレートだけはデザインを変えたい！なんてことができる。
* プラグインの自作  
既存プラグインで完結が難しいような、自己都合度合いの高いプラグインを作ることができる。

## STEP4.STEP1〜3全てに当てはまる
それってつまりもうこっちが何か検討しなくてもそちらでなんとかなりますよねっていうことです。よろしくやってください。

### STEP4の段階でできること
テンプレートが自作できる など


# 要件との照らしあわせ
## そもそもWordPressを選択するかどうかを考える
ここまで確認したところで、WordPressを選択しない方が良いと判断される場合もある。
###STEP1に達さない
サーバ?何それおいしいの?
という、かつての私のようなタイプの人の場合、無理にWordPressを使うよりかは、忍者ブログやアメブロあたりから始めてみても良いかもしれない。
###要求レベルと実現レベルの不一致
管理画面からのブログのカスタマイズが限度のところに、特殊なプラグインの構築が必要とされる仕様があった場合などが挙げられる。
ただ、この場合は多少なり妥協ができるのであれば、実現は可能なので、今あるリソースからどうカバーすれば良いかを検討をすれば無理なことはない。
詳しくは以下を参照  

## サイトを構築するメンバーと到達するSTEPから要件を検討
ここでは実際にあった例を基に要件を検討してみる。
例えば以下の用件がSTEP2の人からの用件の場合、なるべくSTEP2内に収まる仕様に近づけてあげることを心がけよう。

 * とあるカテゴリの記事ページのみデザインの変更ができるか  
siingle-post.phpでカテゴリを習得し、条件分岐を入れることによって対応は可能である。   
 → **STEP3**まで到達していれば可能
 * 特定の記事の入稿時にテキストボックスを変更できるか  
カスタム投稿タイプによって実現可能  
→ **STEP2**まで到達していれば可能
 * 固定枠を作りたい  
パーツの作成が必要  
→ **STEP3**まで到達していれば可能
 * アクセス解析用のタグを入れ込みたい  
テンプレート階層の知識が必要  
→ **STEP3**まで到達していれば可能
 * 記事コンテンツの表示順を操作したい  
プラグインの使用で実現可能  
→ **STEP2**まで到達していれば可能
 * MAP埋め込み  
要求によって異なるが、特定の記事のみ入れれば良いのであれば、googlemapのタグを直接埋め込めば対応できるので、**STEP1**でも実現は可能  
毎回埋め込みたいなどのフォーマットを設けたいとなるとカスタムフィールドの知識が必要になるので、**STEP2**までのレベルが必要になる、
 * TOPページで画像のスライドショーを入れたい  
 そもそもTOPページにスライドショーのあるデザインのテンプレートを入れるだけであればSTEP2のレベルで可能。プラグインを使用した場合、恐らく埋め込みが必要になるのでコーディングの知識のあるSTEP3が望ましい
 * カテゴリ別の記事一覧ページを作りたい  
 デザインを変える必要が無ければ**STEP2**で対応が可能