プログラミング

【2020年】WordPressを操るためのphpおすすめ勉強法

【2020年】WordPressを操るためのphpおすすめ学習法

前回の「現役エンジニアの語るWordPressのおすすめ勉強法」という記事で「案件をこなす上でのWordPressの最速勉強法」をお伝えしました。

その中で紹介した、デイトラ3rdとwordpressの教科書を終えたら、あとは都度分からないところはcodexを確認しつつvar_dumpをかければ、案件はいけます。

デイトラ3rdにはPHPパートも入っているので、PHPの基本的な部分は理解できます。

しかし

  1. WordPressの仕組みをもっと知りたい
  2. 分からない部分をコピペで終わらせたくない
  3. WP_Queryが正直何をしているのかわからない

といった状況を抜け出すにはもう少し深いPHPの理解も必要です。

特にwordpressと長く関わっていくなら知っておいて損はないし、

仕組みがわかるとwordpressはいきなり楽しくなるんですよね。

あなたは

ブログ記事からのコードの「コピペ」で終わったり「呪文の暗記」になっていませんか?

とはいえ人によってはphpの学習をするにあたって次のような問題が存在すると思っています。

  1. 最初はvar_dumpを活用するイメージもわかない
  2. progateやドットインストールよりも、本でphpを学習したいという人もいる
  3. phpがどうwordpressに使われるかイメージできないからphpのやる気もわかない

自分も最初そうだったので、今回はphpのここがわかってるといい、その上でそれらのphpの知識が実際wordpressではどう使われているか具体例を解説し、

その後、それらを理解するのに、自分が読んで「これはよかった」という本を紹介していきます。

具体例はこの段階では聞いても分からないかもしれませんが、最後にオススメの教材もお伝えしますので、

そちらを参照していただき、再びこの記事を見てもらえばわかりやすいかなと思います。

対人で教えてもらいたい方は

PHPを独学は割と困難を極めます。対人ですぐに解決したい!という方はTechAcademyWordPressコースがおすすめです。WordPress歴10年以上の経験豊富なメンターに質問し放題になります。

phpで最低限知ってくといい知識

変数、条件分岐(if)、繰り返し(while,foreach)、関数といった知識

例として、WordPress案件で使わないことはほぼない、メインループのコードを見ていきましょう。

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : ?>
<?php the_post(); ?>
<p>処理内容</p>
<?php endwhile; ?>
<?php endif; ?>

ここで使われているのは、条件分岐のif文と繰り返し処理のwhile文、have_posts,the_postという関数ですね。

もしデータがあれば、取得したデータがすべてなくなるまで処理を繰り返すという動きになります

流石にこれが分からないと案件をこなすどころではないので、理解しておく必要があります。

繰り返しは、WordPressの場合、for文はあまり使わないので、whileとforeachを理解すればいいでしょう。

whileはメインループ、foreachはget_postsなどサブループを作る時などよく使います。

foreachでサブループを作る際の例を見てみましょうか。

<?php
$pickup_posts = get_posts( array(
'post_type' => 'post', // 投稿タイプ
'posts_per_page' => '3', // 3件取得
) );
?>
<?php foreach ( $pickup_posts as $post ) : setup_postdata($post); 
?>

<?php endforeach; wp_reset_postdata(); ?>

get_postsは投稿データを配列で得るんですが、それを一旦$pickup_postsという変数に格納し、

foreachで配列から値を順に取り出すというコードになります。

これも案件で大体毎回使うので、コピペするにしても最低限は意味を理解できる必要があります。
ここまででコピペとプラグインで小規模なサイトは作れます。

是非知っておくといいphpの知識

コピペしたものをカスタマイズして自作テーマに活用するには、もう少し知識が必要です。

特にクラス、インスタンス、オブジェクト、プロパティ、連想配列の理解が必要です

ここではインスタンス=オブジェクトでOKですね。

例えばWordPressだとよく以下のコードを使用します。

<?php
$news_query = new WP_Query(
  array(
    'post_type'      => 'post',
    'category_name' => 'news',
    'posts_per_page' => 5,
  )
);
if ( $news_query->have_posts() ) : ?>
  <?php while ( $news_query->have_posts() ) : ?>
    <?php $news_query->the_post(); ?>
    <p>処理内容</p>
  <?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_postdata(); ?>

このとき、WP_Queryというのがインスタンス、オブジェクトになります。

また連想配列でキーに対して値を設定しており、例えば

'category_name' => 'news',

というのは、

newsというカテゴリー名に指定した投稿データのみ引っ張ってくる指定方法なわけです。

それを変数$news_queryに格納しています。

あとはその$news_query内に入った投稿データをループさせているんですね。

これらの動きを理解するために、クラスやインスタンス、オブジェクト、連想配列の知識が必要になります。

プロパティの理解

あとはプロパティですが、例えば、$post->IDはどういう意味でしょうか。

->はアロー演算子というのですが、

$postは「今の投稿データ」に関する様々な値が格納されているグローバル変数、投稿オブジェクトで、その中のプロパティ「ID」の値を参照している、

つまり

投稿データのIDを参照していることになります

これを見て分からないと呪文になってしまいますが、逆にプロパティの参照がわかれば投稿データを自由にカスタマイズできることになりますので、

扱えるようになるとできることの幅が広まるということになります。

wordpressのためのphpおすすめ本紹介

ここまでWordPressで必要なPHPの知識と具体例を紹介してきましたが、これらを効率よく学ぶのに、

私が実際に使ってよかった本を紹介します。2冊あります。

WordPressユーザーのためのPHP入門 はじめから、ていねいに。[第3版] 〈WordPress 5.x/Gutenberg対応〉

wordpressに特化したphp本で、

関数やオブジェクトなど基本以外にWordPressのループ/条件分岐タグ/テンプレート階層/フック

など、痒いところに手が届く解説が行われています。

特に、WordPressの動作の仕組みも解説してくれているので、

今まであげたPHPの知識を入れるのが目的なら、これ一冊でいいと思います。

気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!

これはWordPressというより、PHPで自分で簡単なシステムを作ってみようというものです。

WordPressは裏でこんなことを自動でやってくれていたのかということがよくわかるようになります。

それと、純粋なPHPのコーディング力やコードリーディング力が鍛えられます。

WordPressで効率よく開発しようと思うと、自作関数やショートコードを作る必要があり、PHPに慣れていないとなかなか手がつけられませんが、

この本を終えた頃には自分で簡単な関数が作れたり、テーマの関数を読んで理解できる力も付きますので、

さらにWordPressの理解やPHPの理解を深めたい人には一番おすすめしたい本になります。

正直基本的な案件をこなすだけなら、この本をやる必要はないかもですが、

この本を終えると、WordPressの仕組みもずっとわかりやすくなるので、かなり開発が楽しくなるんですよね。

仕事にする上で楽しさは大事ですから、どうせメインに使っていくなら、好きになるのは大切なことです。

しょーご
しょーご
この本はまじでよかったです…phpわかったあとwordpressみたとき、軽く感動しました…

PHPがわかるとWordPressは面白くなる!

ここまでWordPressを操るためのphp学習法ということでお話しましたが、

正直、まああまり大きな声では言えませんが、今回紹介したPHPの知識がなくても案件はこなせてしまったりします。

事実、全く分からずにWordPressを使っている人もたくさんいる気がします。

ただ、知らず知らずのうちに非推奨の書き方をしてしまっていたり、非効率的で保守性のかけらもないコードや

セキュリティ的にダメなサイトも量産されてしまっている事実もあるんですね。

皆さんにはそうなって欲しくはないですし、何よりWordPressを好きになっていただきたいんです。

仕組みを知らないとただの「コピペ」「呪文」で終わるものも、仕組みがわかれば結構奥が深いです。

先ほどの「気づけばプロ並みPHP 改訂版–ゼロから作れる人になる!

でWordPressの凄さ、便利さを知ってから、僕はWordPressの凄さに改めて気づいたので、

皆さんもぜひ、取り組んでみてください!

対人でプロからPHPやWordPressを学べるスクール

TechAcademy WordPressコース

ちゃぶ台返しで恐縮ですが、しかし正直な話、本でPHPを独学は割と困難を極めます。

対人ですぐに解決したい!という方はTechAcademyWordPressコースがおすすめです。

経験豊富なメンターに質問し放題になります。

TechAcademy WordPressコース

実は私も実務を経験してから更にWordPressの理解を深めるためにWordPressコースを4週間受講したことがありますが、WordPress歴15年の人に相談できたのは大きかったですね。

不明だった挙動も、人に説明されるとわかりやすいなと思いました。そして教え方が本当にうまいなと思いました…(感動)

\いますぐ登録したい方はこちら/

\\\コーディング教材公開中///

HTML初心者からWordPress実案件レベルまでのコーディング教材noteで公開しています。

XDからの模写コーディング教材

XDデザインデータからのコーディング経験を積むことができ、ポートフォリオとして活用していただくことも可能です

初級編は初めてデザインからコーディングする方向け、中級編はJavaScriptやjQueryの練習、上級編WordPressの実案件を模擬体験できるレベル感にしています。

マガジンでまとめて購入していただくと、お得になります。

書籍だけではなかなか実力がつかないので、ぜひ腕試しにご利用ください!!