【初心者向け】PHPでWordPressをカスタマイズする方法
さくらレンタルサーバーやエックスサーバーのようなレンタルサーバーでも、WordPress(ワードプレス)を自動インストールできるサービスが提供されています。
そのため、プログラミングやサーバーの知識も不要でWordPressが使えることもあり、実際に使っていらっしゃる人も多いと思います。
今回はPHPプログラミングとWordPress初心者向けに、WordPressをカスタマイズする方法を分かりやすく解説していきます。
WordPressの仕組みについて
カスタマイズの解説する前に、まずはWordPressの仕組みについて理解する必要があります。仕組みといってもプログラミングの話ではなく、WordPressを構成する要素についてお話しします。
テンプレート
WordPressのテンプレートというと、色々なものを指していることが多いです。テンプレートはHTMLおよびPHPで記述されています。
今回の記事では「テンプレートパーツ」と呼ばれるWebページのヘッダーやフッター、投稿画面やサイドメニューといったページを構成する部品を指します。
テンプレートが部品化していることで、トップページや固定ページの間でパーツを共有することができます。部品化していることでメンテナンス性も向上します。例えばフッター部に会社のロゴを挿入したいと考えた場合、フッターの部品を書き換えるだけで全体の修正をすることができます。
テーマ
テンプレートとスタイルシート(以下CSS)を組み合わせたものをテーマと呼びます。Webページのレイアウトや見た目について、まとめられたものです。
Webページのレイアウトや、色合いを変更したいと思ったときにテーマを変更することで、コンテンツを修正することなくサイトイメージを変えることができます。
また、WordPressの管理画面から検索してダウンロードができます。無料のテーマでも十分使えますので、色々と自分の気に入ったデザインのテーマを探してみるのが良いでしょう。
プラグイン
WordPressの標準機能では足りない部分を補完したり、より便利にしたりするのがプラグインです。プラグインは主にPHPで記述されています。
メールフォームの作成やサイトマップの自動作成、リンク切れチェックなどのサイト運営する上で欲しい機能がプラグインを導入することで実装できます。
テーマと同様、プラグインもWordPressの管理画面から検索してダウンロードができます。管理画面からインストールできるものは、WordPress公式サイトによって安全性が確認されたプラグインです。そのため、安心してインストールすることができます。
以上がWordPressの構成になります。PHPで開発するのにWordPressの構成を知っておくことは必須ですので、しっかりと覚えておきましょう。
続いてPHPでカスタマイズをする前にやることを解説します。
PHPでWordPressをカスタマイズする前にやること
「自分でテーマが作りたい」「管理画面でのこんな機能が欲しい」といった希望があっても、すぐにPHPでカスタマイズしてはいけません。カスタマイズをする前に以下の内容は必ず行いましょう。
開発環境を用意する
WordPressの場合、レンタルサーバーで運営している人が多いと思います。しかし、PHPでカスタマイズをする場合は本番環境ではなく開発環境で行ってください。
Windowsをお使いの場合、簡単に開発を用意できる方法として「Instant WordPress」があります。
まだ開発環境を用意していない人は「Instant WordPress」を使ってみるといいでしょう。
必ずバックアップを取る
本番環境のバックアップは必ず取っておきましょう。特に必要なのはPHPファイルのバックアップとデータベースのバックアップです。
テーマやプラグインのカスタマイズを行ったときに、影響する箇所がPHPファイルとデータベースになります。そのため、万が一動かなかったときに元に戻す(リストア)するためのバックアップを取っておきましょう。
自分がやりたいことを実現できるテーマやプラグインを探す
WordPressの管理画面からテーマとプラグインの検索ができます。初心者の場合、0から開発するのはそれなりの学習コストがかかります。
そのため、自分がやりたいと思っていることが実現できるものが既にあるか探してみましょう。自分がやりたいと思ったことは、既に誰かがやろうと思っていることが多いです。
WordPress+PHPの勉強目的でないなら、自分で作るよりも探してみたほうが良かったりします。
以上がPHPでWordPressをカスタマイズする前に行うことになります。特にバックアップは必ず取っておくことにしましょう。
では続いて、やりたいことを実現する方法を考えてみましょう。
https://web-camp.io/magazine/archives/10696
やりたいことを実現する方法を考えてみよう
実際に作ってみたいものはテンプレート、テーマ、プラグインのいずれかになるでしょう。それぞれ、実現するための方法を解説いたします。
テンプレートの場合はPHP+HTML
テンプレートはPHPとHTMLで構成されています。ヘッダーはリンク集、フッターは会社のコピーライトといったようにどのページにも欲しい内容を作ります。
トップページのような固定ページも、この「テンプレート」に該当します。
ここで作ったテンプレートを使ってテーマを作るので、しっかりと考えて作りましょう。
テーマの場合はテンプレート+HTML+CSS
テーマの場合はWordPressのディレクトリ配下の「/wp-content/themes」に新しいディレクトリを作成します。
作成したディレクトリの中にテンプレートやCSSファイルを格納します。
テーマで有効なファイル名は決まっており、WordPressのドキュメントにも記載されています。
テンプレート階層
http://wpdocs.osdn.jp/テンプレート階層
テンプレート階層はWordPressをカスタマイズする上で欠かせない要素ですので、しっかりと覚えておきましょう。
プラグインの場合はPHPにプラグイン情報などの記述が必須
プラグインの場合はWordPressのディレクトリ配下の「/wp-content/plugins」に新しいディレクトリを作成します。管理画面上で設定できるようにしたい場合は、HTMLやCSSといった要素も必要になります。
ここで注意したいのはプラグインの場合、WordPressがプラグインと認識するためのルールがあることです。これは自分だけが使うプラグインでも守らなければいけないルールです。
絶対順守!WordPressプラグインのルール
・プラグイン名
・プラグインの更新用URI
・プラグインの概要
・バージョン
・作者名
・作者URI
・ライセンス
・ライセンス情報
なかなか多いです。上記の項目が一つでも欠けていると、WordPressはプラグインとして認識しません。
特にライセンス情報は作成年、作者名、メールアドレス以外は英文のまま、貼り付けないといけません。一字一句修正することはおろか改行すら許さないので、そのまま貼り付けてください。
上記の詳細についてはWordPress公式サイトに記載されています。
プラグインの作成
http://wpdocs.osdn.jp/プラグインの作成
以上がWordPressでやりたいことを実現するために考えることです。初心者はテーマの修正から慣れていくといいかもしれません。
ここまで来たら、いよいよ開発環境でWordPressをカスタマイズです。
開発環境でWordPressをカスタマイズしよう
初心者が初めてPHPでカスタマイズをしようと思ったら、0から作るよりも元々あるテーマやプラグインをカスタマイズしたほうが効率的です。
WordPress公式のテーマなら自由にカスタマイズ可能です。
テーマに関しては作者がカスタマイズしてもいいと名言している場合がありますので、しっかりと確認して使わせてもらいましょう。
自作テンプレートの作成
元々あるテンプレートに会社の情報やロゴ、サイズの変更といった感じで改造していきます。レイアウトの変更を考えている場合は、まずサイトデザインの完成像をイメージした後にテンプレートの作成をするといいでしょう。
トップページ(固定ページ)をカスタマイズしたい場合は、home.phpを編集します。
自作テーマの作成
作成したテンプレートや他のライセンスフリーのテンプレートを使って、自作テーマを作成していきます。サイドバーの有無やタグ別ページ、カテゴリー別ページなど表示を変えたい部分をカスタマイズしていきましょう。
自作プラグインの作成
プラグインの場合は元々ある機能に+αしたいと思ったときにカスタマイズすることが多いでしょう。特にデータベースにアクセスする機能を追加したい場合は、しっかりとテストした上で本番環境での検証してください。
データベースへの書き込み処理中にエラーになり、サイト情報が壊れてしまう恐れもあります。
画面でエラーが出てしまったら?
ブラウザ上でエラー画面が表示された場合、以下の項目を確認してください。
セミコロンの付け忘れ
一番多いのはセミコロン「;」を末尾に付け忘れてしまうミスです。行番号が表示されるので、該当箇所の確認をしましょう。
配列やif文を使っているときにカッコの数が合ってない
これもよくあるミスです。入れ子で書いているとカッコの数が多かったり少なかったりしてしまうことがあるので、該当箇所を確認しましょう。
関数または変数名でハイフンを使ってしまった
HTMLやCSSを書きながらだと起こりがちのミスです。PHPでは関数名と変数名でハイフンを使えないので、アンダーバーに変更しましょう。
同じ関数名を使ってしまった
WordPressを使っていると起こりやすいエラーです。使用中のテーマやプラグインで同じ関数名が使われていた場合、エラーになってしまいます。
対策としてはfunction_exists関数を使って、関数が定義されているか確認をしましょう。
作りたいものと、実行時によくあるエラーについて挙げてみました。ここまでうまく動いたら、本番環境での確認です。
https://web-camp.io/magazine/archives/3741
開発環境で動作したら、本番環境で動かしてみよう
開発環境でOKなら、本番環境に入れて動作確認になります。
うまく動かなかったときは?
開発環境でOKだったけど本番環境でNGだった場合、以下の原因があります。
開発環境と本番環境のPHPのバージョンが違う
レンタルサーバーによっては、PHPのバージョンが違うことがあります。バージョンが異なると動作しないことがあるので、できるだけ開発環境と本番環境のバージョンは統一しましょう。
入っているプラグインやテーマが違う
開発環境と本番環境で入っているプラグインやテーマが異なるせいで、動作しない可能性はあります。PHPのバージョンと同様、できるだけ統一するように心がけましょう。
ちゃんと動いたらバックアップを取っておく
無事、本番環境での動作を確認したらバックアップを取りましょう。他のサイトに展開するときや、レンタルサーバーの移行といったときのためにバックアップがあると、いざというときのためになります。
まとめ
今回はPHPプログラミングとWordPress初心者向けに、WordPressの概要とカスタマイズする方法を解説させていただきました。
WordPressは非常に便利なソフトウェアです。自分なりにカスタマイズすることで、さらに便利で多機能にすることができます。
PHP初心者やWordPressを使っているだけの人も、この機会に自分でカスタマイズしてみてはいかがでしょうか。
DMM WEBCAMPについて
DMM WEBCAMPは3ヶ月間で未経験から即戦力エンジニアを育成する転職保障付きのプログラミングスクールです。1ヶ月でプログラミング・Webデザインを学ぶ通い放題の「ビジネス教養コース」も展開しています。
DMM WEBCAMPを運営する株式会社インフラトップ では、「学びと仕事を通して人生を最高の物語にする」という理念で会社を経営しています。
キャリアアップを目指す方は、この機会に私達と一緒にプログラミングを学んでみませんか?
【インタビュー】未経験でもたった1ヶ月で営業からエンジニアとして転職!
未経験でも1ヶ月のプログラミング学習と手厚いキャリアサポートでエンジニアとして転職したWebCamp受講生にお話を伺いました。
「本当に1ヶ月でプログラミングを学習できるの?」
「未経験でもゼロからエンジニアになれるの?」
と疑問に思っている方は、是非この記事を読んでみてくださいね!
“未経験”でもたった1ヶ月で営業からエンジニアとして転職!『WebCamp』受講者インタビュー