【WordPressでPHPプログラムを学習シリーズ1】用語:PHP変数・関数・定数を、WPの機能を通して覚える

      2021/02/25   2170文字

【WordPressでPHPプログラムを学習シリーズ1】用語:PHP変数・関数・定数を、WPの機能を通して覚える

今回は、プログラムを、実際のサイトではどう使われているかを通して、用語を学習してみます。

このサイトの管理人が普段使っている『WordPressシステム』を通して、それを動かしているプログラム『PHP』の変数・関数・定数はどのように使われているかというのをおさえて、(wpユーザーには実際の使用例に即して)覚えやすくしてみたいと思います。さっそくみていきましょう

なぜWPで、PHPを覚えると良いのか?

WordPressは、特にプログラムやHTML&CSSを覚えなくても、記事を書いたり、サイトデザインをカスタマイズ(管理画面のカスタマイザー)したりすることができます。しかし、PHPを使えるようにしておくと、『より凝ったカスタマイズやオリジナルテーマ制作』『プラグインの改造や開発』『エラー時の対処』などに対応できます。

また、『いきなりプログラム専門書籍を読んで学習する』より、『自分が普段使っていて、親しみがあるツールを通して学ぶ』方が、実際に使いながらやれるので覚えやすいというメリットがあります(特に当サイト管理人の場合ですが)。

『WordPressシステム』で使われている例を通して、PHPの変数・関数・定数といった用語を覚えてみる

PHPの関数とは?WordPressでの利用例は?

関数とはひとつの処理をまとめて、いろいろな場所で何度でも使い回すようにしたものです。自分で『function 関数名( )』のように書いて作る(ユーザー定義関数)の他に、あらかじめ定義されている『組み込み関数』というのがあります。

WordPressでも、PHPの組み込み関数はよく使われています。

テーマで『個別記事のタイトルを取得する』という部分を例にとってみると『フォーマット文字列を出力する組み込み関数 printf』が使われています( esc_htmlは、エスケープされたHTML 文字列を返すWordPress関数)。printf関数に渡す引数がesc_html・spanタグ・タイトル検索結果と、複雑になっているのでちょっとややこしいかもしれません。

また、WordPressでは(ユーザー定義関数みたいな感じで)既に定義されている関数もいっぱいあるので、Codexを見てチェックするとよいでしょう。

PHP変数とは?WordPressでの利用例は?

変数は、「値をしまっておく箱で、使いまわす」などとよく言われます。PHPの変数はドル記号の後に変数名が続く形式の表記です($mtime = get_the_modified_time(‘Ymd’);みたいなの)。大文字小文字を区別します。好きな名前をつけられるけど、命名ルールをきちんとしておくと、後からメンテがしやすくなります。

管理人が利用しているWordPressサイトでの利用例です。

『$next_post = get_next_post();』というのがありました。単純に、次の記事取得です(「=」は代入演算子)。

上記の例では、変数$next_postに代入されているのがWordPress関数get_next_post()です。単純な数値や文字列じゃないのでわかりにくいのですが、PHP公式リファレンスによると『PHP は可変関数(variable functions)の概念をサポートします。 これにより、変数名の後に括弧が付いている場合、その値が何であろうと PHPは、同名の関数を探し実行を試みます。』とのことです

PHP定数とは?WordPressでの利用例は?

定数とは値(文字列など)を格納するものです。変数と違ってプログラムの実行中は変更できないという点で、『変更することが無い値、プログラムのどこからでも呼び出したい値』を定数します。define関数を使います。

WordPressでの利用例です。wp-config.phpを見てみます。

『define(‘DB_NAME’,’○○○○’);』という形でデータベース名・ユーザー名・パスなどのデータベース接続情報などに使われています。書き方を押さえておくと、自分でデータベースと連動したシステムを作るとき、役に立ちそうです。

あとがき

ちょっと駆け足説明でしたが、WordPressユーザーの方には『実際にどんな場所でプログラムが使われているか』などがイメージしやすいかと思います。WordPressでPHPプログラムを学習シリーズみたいな形で、当サイト管理人も学習したことをまとめて、このコラム上でお伝えしていければと思います。


【カテゴリ】 - PHP・データベースetc
【タグ】 - ,

  関連記事

【ユーザーデータ取得】WordPress定義済み関数の『get_userdata()』『wp_get_current_user()』ってどのように違うの?
【PHP】カウントダウン機能に使える?array_reverseで配列要素を逆に,パラメーター挙動&array_flipとの違い
【PHP etc.プログラム学習サイトコードコピペ】全角引用符・バッククオートが入ってて動かない件に注意
【WordPress条件分岐】is_singleとis_singularって違うの?→idやスラッグ指定、投稿タイプ指定の面で違いが
PHP・mb_substr関数を使って、タイトル文字数を揃える(WPレイアウト調整)
【WPユーザー名バレ対策】ユーザー名表示からPHP・preg_matchでリダイレクト(wp-json/wp/v2/usersなど)
WPデータベースの余計なデータには何がある?事例と対処方法・あるとイヤなケース
WordPress・REST APIのjsonファイルにカスタムフィールドを入れ、タイトル・アイキャッチと共に外部サイトで取得・表示
【PHP学習】var_dumpで出力するのと、echoで出力するのは、挙動がどのように違うの?
WordPress記事一覧ページの『本文からの抜粋』を表示する関数と、その文字数の調整方法をチェックする
PHP・shuffleやarrayを使った、画像ランダム表示方法~メインビジュアルやバナー・テキストにも利用可能
【画像つきでわかりやすい】WordPressで使われるデータは、MySQLデータベースに、どのように格納されているの?