WordPressサイト制作とプラグイン&テーマ情報・メンテ/エラー対応から、PHP/CSS/javascript、動画・音・イラスト等制作まで扱うコラム

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

      2020/07/01

こんにちは、管理人@SS_mshpです。

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

このサイトの管理人が普段使っている『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を見てチェックするとよいでしょう。
■Codex 関数リファレンス
https://wpdocs.osdn.jp/関数リファレンス

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公式リファレンス
http://php.net/manual/ja/functions.variable-functions.php

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

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

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

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

あとがき

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

*アトリエSS・web制作サービスページに移動します。webリニューアル・ロゴ・記事・wordpress化などでお力添えできます。
『サイトを既にお持ちで、リニューアル』の場合は、¥10万以下でご対応します(全プラン、月額管理費/24回支払い縛りなどの強制無し)


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

  関連記事

YouTube Data APIを使って、PHPで『タイトル・動画id・サムネイル画像』などを取得してみる(Search: listリソース)

今回は、youtubeとwebサイト連携で、YouTube Da ...

テスト環境(ローカル含む)でPHPサイト開発に使えるツール&xamppでやってみた例(設定や表示ファイルetc)

今回は、管理人がサイトに、ちょっとした機能を実装しようとしていた ...

WordPress一覧表示で、特定のカテゴリ/投稿を表示しないようにするには?→category_not_in・post_not_inで

今回は、WordPressの公式フォーラムを見ていたら、『一覧か ...

WordPress・REST APIのjsonファイルにカスタムフィールドを入れ、タイトル・アイキャッチと共に外部サイトで取得・表示

今回は、管理人がWPで作ったサイトのコンテンツを、別の自社運営サ ...

【WordPress条件分岐】is_singleとis_singularって違うの?→idやスラッグ指定、投稿タイプ指定の面で違いが

今回は、WPの条件分岐などに使うファンクションで、名前が超似てい ...

【WordPressカスタムフィールド検索】meta_queryで、シリアライズ値が入ったフィールドを持つ記事をヒットさせるには?

今回は、ちょっと需要があるかもしれない『WordPressカスタ ...

【WordPress組み込み関数】is_home()とis_front_page()って同じ?→似てますが、厳密には挙動が異なります

今回は、WordPressで条件分岐するときによく使われる組み込 ...