【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データベースリビジョンお掃除
【WordPressで覚えよう】PHP「->」(オブジェクト演算子/アロー演算子)・「=>」(ダブルアロー演算子)の違い
【別に止めなくてOK】WordPressサイトなどに、アメブロ・fc2など無料ブログの更新情報を表示して連携する方法
【WordPressでPHPプログラムを学習シリーズ1】用語:PHP変数・関数・定数を、WPの機能を通して覚える
侍エンジニア塾ブログにあったPHPコードをシンプルに書いてみる(foreachで配列キーや値取得・continueで空要素スキップ)
WordPressの記事IDで判定して転送~PHP・headerとget_the_IDで対応、the_IDとの挙動の違いも
【WordPress組み込み関数】is_home()とis_front_page()って同じ?→似てますが、厳密には挙動が異なります
【WordPress条件分岐】is_singleとis_singularって違うの?→idやスラッグ指定、投稿タイプ指定の面で違いが
【WordPress】記事文字数のカウント方法(コア機能・プラグイン)チェックと、フロントへの出力について
【WordPress別サーバー引っ越し】SQLエクスポート/インポート&Redirectionプラグインを使った方法
WordPress一覧表示で、特定のカテゴリ/投稿を表示しないようにするには?→category_not_in・post_not_inで
PHP・mb_substr関数を使って、タイトル文字数を揃える(WPレイアウト調整)