WordPressでPHPを始めるには最初に少しだけ山が有ります。
WordPressを始めて慣れてきた頃に、「ここが思ったようにならないぁ」と思い始める人も出てくると思います。
自分で思ったように表示をさせるには、それを実現してくれるテーマやプラグインを探し利用するか、WordPressをカスタマイズするためにPHPを利用するかのどちらかになります。
テーマで希望したように表示できれば楽だしそれに越したことがないのですが、少し手の込んだことをしようと思うと、いろいろと思うようにならないことも出てきます。
プラグインを利用する場合は更にプラグインの中に不具合が有ったり、酷い場合はプラグイン経由で WordPress 内部のハッキング等をされているとか、信用のおけないプラグインを使うには注意と勇気が要ります。
PHPを使って WordPress のカスタマイズをするには、PHP の知識と WordPress の構造知識が必要になります。
結果、どれも一長一短があるので自分に合った方法でなんとかするか、諦めるかを選択することになります。
PHP を利用することにした私の学習を紹介を紹介して行きます
PHP を利用するにあたりどの程度の知識が必要になるかは、実現したいことで変わってきます。簡単なことであれば、知識と言うよりもその技術について紹介している記事を検索して組み込むことで可能になります。
私の場合、現在はPHPの学習を全くしていませんが、以下のことをPHPで実現しています。
・ Gogle Analytics Code設定
・ headにAMP自動広告コードを挿入する
・ フッターにAMP自動広告コードを挿入する
どれも見様見真似でなんとかなりました。
PHP のことは知らなくても他のプログラム言語を知っているので、なんとなく理解できることも多かったのですが…。どちらにしても簡単なことであれば、諦めずに数日じっくり取り組めばなんとかなることも多いです。
PHP を利用する上での山は
PHP を利用する上での山は、何と言っても「どこに PHP を記述すればちゃんと表示できるようになるの?」ってことでしょう。
WordPress はホームページ作成ソフトですが、html ファイルをそのまま作成してくれるわけでなく、WordPress で書いた記事は MySQL と言うデータベースに記事内容データのみ保存され、記事URLにアクセスが有った時に WordPress が保存した MySQL から記事内容データのみを取り出し組み立て表示します。
記事内容の文字はHTML 言語で記述された形で保存されます。
記事内容の文字以外のデータとして、写真やビデオやその他いろいろな情報が有りますが、それらの実態はファイルとして保存され、それらを呼び出すための HTML 形式データとして保存します。
WordPress に保存しているデータは、HTML形式のデータかファイルのみとなっています。
上のことを理解できると、「じゃ PHPコードはどこに書けばいいの?」となります。
WordPress の標準エディターとなっているプロックエディターではPHPコードを書いてもHTML 形式データとなるため、PHP コードは実行されずコードが表示されるだけになります。
具体的に、日付を表示するPHPコードは下のように書きます。
<?php echo date("Y/m/d"); ?>
しかし、これをそのまま記述しても、<p><?php echo date(“y/m/d”); ?></p>とHTML のパラグラフタグ<p>で囲まれてしまうため、上のようにそのまま表示されPHPコードとは認識されず、PHPコードは実行されません。
このことをしっかり理解することが、第一の山になります。
では、PHPコードはどこに書けばいいの?
PHPコードは「functions.php」と呼ばれるphpファイルに記述します。
また、PHPでは外部ファイルを参照する方法としてrequire, require_once, include, include_once 関数が用意されていますので、全てを functions.php ファイルに記述する必要はありません。少し凝ったプログラムになる場合は、別ファイルにして見やすく構造化した方が管理しやすいです。
functions.php は利用しているテーマの中のフォルダに入って居ます。
ダッシュボード > 外観 > テーマエディターからも編集ができます。
尚、functions.php はWordPressの根幹のファイルの一つですので、コード記述にミスがあると、いとも簡単にWordPress は表示されなくなります。なので、functions.php の編集を行う際はバックアップを取るなど注意をする必要があります。
functions.php に書けば簡単に表示されるの?
また、functions.php は全ての記事の共通のファイルです。なので、functions.php にPHPコードを書いただけでは全ての記事に反映されてしまうため、うまく機能しているとは言えません。全記事共通のPHPコードなら問題ないのですが……。
なので個別の記事にPHPコードで何かを処理させたいのなら、functions.php内にPHPコードの基本的な使い方の「ショートコード」という形で記述して、該当記事内から登録した任意のショートコード(PHPコード)を呼び出すことでPHPコードを実行させ結果を表示させます。
この「ショートコード」の仕組みは、多くのプラグインでも利用されていますので、使ったことがある人も居ると思います。
まとめると
1)functions.php にショートコードとしてPHPコードを記述する
2)記事の中からショートコードを呼び出す
です。
以上がPHPを利用するための概略です。
そんなに難しくなかったですよね?
次回は私がPHPを学びつつ、具体的な例を挙げて説明していければと思います。
以上、「PHPを始める前に」でした。