最近PHPを勉強したくてあれこれ試行錯誤しています。
-
50代からのWeb開発 ~今からでも遅くない
続きを見る
こちらの記事でもご紹介しましたが、今はネット上で無料で勉強できるサイトが多数あります。
これらを活用していく方法ももちろんありますが、50代近くなるとなんともアナログで・・・(笑)
本を使って1ページずつ進んで行く方がやりやすかったりもする訳です💦
という訳で、いくつかの書籍を学習材料にしながら、やっと1つだけPHPで関数を作りました。
超超初心者なPHP関数ですが、これを足がかりに色々やってみたいな~。と思っています。
おそらく他にもいるであろうPHP超初心者の方に、初めてのPHP関数を作るまでの手順と実際の作り方をご紹介します。
この記事を読んでもらいたい人
- PHPのプログラミングってまだ全然分からない人
- とりあえず簡単に作れる関数を作って動かしてみたい人
もくじ
勉強に使った本達
wordpressの本
まずはこの本。
このサイトを立ち上げる際に一番最初に買った本です。
そもそもwordpressって何?というところから始まっているので全体像をつかみつつサイトを立ち上げるまで非常に参考になりました。
難点を言えば、本の中で紹介されたサーバーがさくらのレンタルサーバだったことでしょうか?
結局後日エックスサーバーに引っ越しをしたので大変だったかな。いい勉強にはなりましたが・・・。
この本とその他の勉強サイトを使いつつ、サイトがある程度形になってきたらPHPの勉強がしたくなりました。
そもそもWebの勉強をしたいと思ったきっかけはwordpressですが、これはCMSであってプログラミングではないので、次はPHPだな。と思っていました。
初心者向けのPHPの入門書
次に購入したのがこの本です。
これ、すごく分かりやすかったです。
初心者向けに親切に書いてあって、PHPを使って何ができるのか、PHPの概要を理解することができました。
ですが・・・。
このプログラムをどうやってwordpressに組み込んで利用していくのかが分かりませんでした。
そこで、次の本を購入しました。
この本でやっとPHPをwordpressで活用する仕組みを理解しました。
昔から私は作りながら動かしながら学習するタイプだったのであれこれ試行錯誤するためのプラットホームができた感じです。

Accessを勉強し始めたときはまだこんなにネット上に情報はなかったので本当に手探りでした。
トライアンドエラーを繰り返し今に至るので悪くはなかったかな・・・
初めて作ったPHP関数
さて、本日作ったPHP関数は、先にご紹介した『wordpressユーザーのためのPHP入門』の第2章まで読めば作れる関数です。
PHP関数の仕様
- 各投稿記事の先頭に「こんにちは。まつみです。」と表示させる。
- あいさつの部分はシステム時間によって「おはようございます」「こんにちは」「こんばんは」の3パターン用意する。
- 投稿時にショートコードを書くことでPHP関数を起動する
たったこれだけの関数です(笑)
もちろん、この記事の先頭にも「こんにちは。まつみです。」と表示されているかと思います。これです!
PHPのコードをどこに書くのか
PHPのコードはテーマの編集から子テーマのfunction.phpを編集します。
親テーマのfunction.phpを書き直さないようにしましょう。
まずはテーマの編集から、子テーマのfunction.phpを開きます。
私はテーマにJINを使っていますので、子テーマは「JIN Child」です。
※現在はAffinger5(WING)に移行しています。移行の経緯にご興味があれば以下の記事もどうぞ♪
-
JINのユーザーが次にAffinger5を買った理由~JINとAffinger5を比較します
続きを見る
テーマのための関数にfunction.phpがありますのでこれを編集します。
念のため、function.phpをいじる前にバックアップはとっておきましょう。
子テーマにfunction.phpがない方は親テーマからコピーして作成する必要があります。
サーバーからFTPツールなどで親テーマのfunction.phpをダウンロードして子テーマのフォルダにアップロードしてください。
どんなPHPコードを書くのか
書いたコードはこれだけです。
先の本の第2章まで読んでいただければ、大体分かると思いますが
$hour変数にシステム日付から時間(G)を取得してセットします。
その時間に応じて条件分岐で戻り値(あいさつ文)を変更しているだけです。
本の例題ではシステム日付をDate()関数で取得していましたが、動作確認したところ日本時間ではない時間を取得しているようでした。
調べたところ、wordpress内でこの関数を使用すると、UTC(協定世界時)でシステム日時を取得してしまうようです。
そこで、date_i18n()関数を使用しています。
最後の『add_shortcode('sc_hello', 'fc_hello');』で、ショートコードの『sc_hellow』にfc_hello()関数を割り当てています。
投稿時のショートコードの使い方
最後に投稿時の記事内で、[sc_hello]と記述すれば完了です。
初めてのPHP関数まとめ
いかがでしたか?
結構簡単にできますよね?
まぁ、簡単な仕様のプログラムなんですけどね・・・。
初めの一歩としては使える関数かと思います。ぜひやってみてくださいね。
本格的に勉強してみたくなったらこちらがおすすめ。