初心者向け!WordPressのオンラインマニュアルWordPress Codexは便利!Codexを見ながらWordPressの使い方を理解しよう!
WordPressユーザーであれば一度はWordPress Codex 日本語版を見たことがあるのではないかと思います。
WordPress CodexとはWordPressの公式オンラインマニュアルでその日本語版がWordPress Codex 日本語版です。WordPressはオープンソースプロジェクトで、開発者側から提供されているマニュアルのようなドキュメントはありません。
その代わりにWordPressユーザーたちが共同で作っているオンラインマニュアルがあります。Wikipediaをイメージしてもらえるとわかりやすいと思います。共同で編集ができるWordPressのオンラインマニュアル、それがWordPress Codexです。
初心者にとってはWordPressCodexは難しい
ここに掲載されている情報はかなり役に立ちます。そのため僕もよくCodexを見ます。ただ初心者にとってはこのCodexの見方がわからないという人もたくさんいると予想しています。昔の僕もそうでした。
初心者に限らずですがWordPressユーザーには非プログラマーが多くいます。ただ非プログラマーにとっては、Codexに書いている内容を読みとくのは難しいことが多々あります。
WordPressはPHPで開発されているので、CodexにはたびたびPHPが出てくるからです。
WordPressユーザーがWordPressでWebサイトを作るときに扱うPHPはごく簡単な範囲ですので、習得するにはそんなに苦労はしません。ですが、今までHTMLやCSSを中心にやってきた人にとってはWordPressを勉強するにあたって1つの壁となることには間違いないでしょう。
この記事では、初心者がWordPressで開発を行うにあたって、頻繁に利用するようになるWordPress Codexの見方を紹介しつつ、WordPressの理解を深めていけるよう解説をしていきます。
Codexは便利だけど、WordPressやPHPの基本を理解していないと読み解けない、そんな悩みを解決する記事を目指します。
なぜWordPress Codexを見ることができるようになった方がいいのか
そもそもの疑問として「WordPress Codexなんて見なくてもググれば色んな情報が出てくるからそれをコピペすればOKじゃない?」という声もあると思います。実際それでもWordPressを使った開発はできます。結構僕も昔はそんな感じでなんとなくコピペして「あ、できた」みたいな感じでやっていることもよくありました。
ただそれだと何かバグがおきたときやピンポイントでやりたいことを実現できなかった場合に、どう対応したらいいかわからなくなります。ですので、僕がオススメするWordPressの開発方法としては次のような流れです。
- わからないことがあればまずはググる
- そうすると誰かのブログ記事にたどり着く
- そこで得たソースコードに書いている中身でわからないことをWordPress Codexでさらに調べて理解する
これだとちょっとよくわからないと思いますので、もう少し具体的に流れを説明します。
例えば、記事を表示するときに、その記事が所属しているカテゴリーの表示方法がわからなかったとします。それの方法を調べて理解するまでの流れとして次のようなステップを踏みます。
- 「wordpress カテゴリー名 表示」とかで検索をする
- 誰かのブログにたどり着き、<?php the_category(); ?>と記述すればよいことを理解する(とりあえずここで解決はする)
- WordPress Codexにてthe_categoryを調べて、その挙動を理解する
3番目の挙動を理解するということが大切です。これを理解していけばWordPressの扱い方やできることの範囲がだいたいわかってきて、なおかつカスタマイズも色々できるようになります。
具体的にWordPress Codexの見方を解説
ではCodexの見方を具体的に解説をしていきます。この記事は初心者の方向けに書いています。ですので、もしWordPressを熟知している人が見ていたら「“Codexの見方”も何もそのままみれば理解できるじゃん」となると思います。
が先述した通り、PHPを理解していないであろう初心者にとってCodexを見せられても何がどうなっているのかが理解できません。
ですので、ここではPHPが全くわからない人でも、Codexを読みとけるぐらいのPHP基礎を身につけつつ、Codexの見方を理解できるようにします。
具体的な例で解説をした方がわかりやすいと思いますので、いくつかの具体例を出しながら解説をしていきます。
記事ページでカテゴリーを取得するthe_category()
先述の例ですが、記事ページでカテゴリーを表示したいことはよくあります。その方法がわからず調べているとたどりつくのが、the_category()というWordPressのテンプレートタグです。誰かのブログを見て、「あぁ、なるほどthe_category()というタグを使えばいいんだな」とそれで終わらずにWordPress Codexでもう少し調べてみます。
まずWordPress Codexのthe_categoryのページはこちらです。
https://wpdocs.osdn.jp/テンプレートタグ/the_category

出典:WordPress Codex日本語版
目次を見るとわかりますが、
- 説明
- 使い方
- パラメーター
- 用例
と続いています。
ちなみにthe_categoryというのは先述の通りテンプレートタグといわれる部類に入ります。
テンプレートタグというのは必要な情報をデーターベースから引っ張ってくるタグのことです。つまりthe_categoryを指定するとデーターベースからカテゴリー名を引っ張ってくるっていうことですね。
そのテンプレートタグについての、説明、使い方、パラメーター、用例と並んでいます。
まず“説明”について、「必ず、ループの中で使わなければなりません。」とあります。
ループというのは、現在のページで表示する記事データを取得する際に使われるPHP処理です(要するに記事データを取得する処理の中でthe_categoryというテンプレートタグを使ってくださいということです)。
まずはどこで使えばいいのかがわかったところで次に“使い方”です。
ここにはソースコードがのっていますがここが理解できないかもしれません。
1 |
<?php the_category( $separator, $parents, $post_id ); ?> |
まず<?php 〜〜 ?>の<>で囲まれた部分はPHPの基本構文です。PHPを記述する際には必ず<?php 〜〜 ?>という形になります。
中身ですが、the_category()というのがテンプレートタグの基本形で、その中にある$separator, $parents, $post_idがパラメーターです。
パラメーターには必要に応じて任意の文字列等を入れていきます。
それぞれパラメーターの意味は次のとおりです。
$separator:カテゴリーへのリンクを区切る文字列や記号
$parents:親と子のカテゴリーを別々に表示するか、子カテゴリーのみへのリンクか
$post_id:カテゴリーを取得する投稿のID(現在の投稿の場合はfalse)
よくわからないと思いますので、実際にテストをしてみましょう。
例えば以下のようなコードを記述してみます(記述する場所はsingle.phpのループの中です)。
1 2 3 4 5 6 7 8 |
<?php if (have_posts()) : while (have_posts()) : the_post(); ?> <!-- ループ部分 --> <div class="article"> <h1><?php the_title(); ?></h1> <div class="date"><?php the_date('Y.m.d') ?></div> <div class="category">カテゴリー:<?php the_category(' / ','',false); ?></div> <!-- カテゴリーの表示 --> <?php the_content(); ?> </div> <?php endwhile; endif; ?> |
5行目を見ていただきたいのですが、パラメーターとして
$separator: /
$parents:なし
$post_id:false
となっています。
例えば投稿画面において、カテゴリーを下図のようにWebデザインとマーケティングを選択していたとします。
そうするとカテゴリーを出力する5行目のコードは以下のような結果を出力します。
カテゴリー:Webデザイン / マーケティング
$separatorのパラメーターに「 / 」を設定していたので、カテゴリーが複数表示されている場合、各カテゴリの間を「 / 」で区切ることができます。また、$parentsにはパラメーターを設定していません。このようにパラメーターは初期値があるものは省略できます。また、「$post_id:false」については初期値がfalseなので、ここも省略できますよね。
つまり先ほどのコードでカテゴリーの部分を
1 |
<?php the_category(' / ') ?> |
と書いても同じことです。
ここで覚えておきたい重要なことは、パラメーターという概念があるということです。パラメーターというものがあって、省略の場合も含めてその指定方法を理解していれば、単純に調べてコピペではなくて様々なことができるようになります。
カテゴリー一覧を表示するget categories
次にカテゴリー一覧を取得する方法について調べてみます。サイドバーなどでカテゴリー一覧表示をしたいことはよくありますよね。そのときに調べてたどりつくのが、get categoriesというWordPressの関数です。
まずWordPress Codexは以下です。
https://wpdocs.osdn.jp/関数リファレンス/get_categories
使い方のところを見ると
1 |
<?php $categories = get_categories( $args ); ?> |
とありますね。
まずここで注意なのでは、ここではあくまでも$categoriesという変数にget_categories( $args )の中身を入れているということです。つまり上記のコードを書けばカテゴリー一覧が表示できるわけではなく、単なる変数の定義です。
先に用例を説明をするとわかりやすいので、用例をみてみます。用例には以下のようなコードが記述されています(用例は僕の方で少し書き直しました)。
1 2 3 4 5 6 7 8 9 10 |
<?php $args = array( 'exclude' => '1', // ID1のカテゴリーは除外 'orderby' => 'name' // カテゴリー名順で一覧を表示(初期値がnameなので設定の必要は実際ない) ); $categories = get_categories( $args ); foreach ( $categories as $category ) { echo $category->name . '<br>'; // 結果として出力する値 } ?> |
もうなんのこっちゃわけわからない方もここを理解していると早いのでもう少し我慢してください。
まず6行目の$categories = get_categories( $args );が先述したget_categoriesです。ここでcategoriesという変数にカテゴリー一覧情報を格納しています。
get_categoriesのパラメーターを見ると$argsというのがありますよね。これは2〜4行目でパラメーターを配列形式で指定しています。
つまり、カテゴリーID1を除外して、さらにカテゴリー名順にカテゴリーの一覧情報をとってきてね!という指定です。それらの情報を配列としてcategoriesに格納しています。
(配列がわからない方は様々な情報をわかりやすく箱に区別して整理した状態だと考えてください)
categoriesはどんな状態になっているかというと、ID1以外のカテゴリーに関する情報がカテゴリーごとに入っています。
例えば、「ID=2、カテゴリー名=マーケティング、カテゴリーURL=marketing」のような情報が各カテゴリーごとに入っています。それをカテゴリーがある分だけループで回して書き出すというのがforeachの部分ですね。
そして何を結果として出力するかという指定が、$category->nameの部分です。ここでnameを指定するとカテゴリー名を表示できるということです。
codexには「戻り値」としてどのような値を抜き出すことができるか書かれています。例えばname以外にも$category->slugとするとカテゴリーのスラッグを抜き出すことができます、
配列とforeach構文について詳しく知りたい方はググってみてください。ここでは概念としてこのような使い方があるというとことまでにします。
WordPress Codexがある程度読みとけるようになることが1つの指標になりそう
他にも様々な情報がCodexには掲載されているので、それを読みとくにはもう少しPHPのことがわかっている必要はあります。ただ、この2つの例を理解できると、WordPressで調べごとをしたときにただコピペで終わらせるだけではなくより深くWordPressを理解しながら制作を進めていくことができると思います。
ここまで書いてきて思ったのは、WordPress Codexがある程度読みとけるレベルになっていれば、かなりいいレベルになってきている証拠ではないかと思います。
WordPressを使ってあらゆる要件に対応することができ、柔軟な開発が可能になります。ぜひWordPress Codexの理解度を自分のレベルをはかる1つの指標としながら学習してみてください。