ワードプレスはご存知のように、PHPというプログラミング言語で構築されています。PHPはウェブ上で最も普及している言語で、著名なシステムだと、Facebookや米Yahoo!などもPHPでできています。
さて、ワードプレスのPHPを変更修正する機会があるとすれば、まずテンプレートのコードをいじる時ではないでしょうか?今回はこのテンプレートでよく使われるコードをいくつかピックアップして解説したく思います。ほんの少しでもテンプレートのコードがどういう構造になっているか皆様のご理解の助けになれば幸いです。
この記事の目次
PHPの基本的な構文
PHPのコードはHTMLファイルに差しはさまれる形で記載されます。PHPのコード部分は必ず<?PHP で始まり、?>で終わる間に書かれていますので、ワードプレスのテンプレートファイルを開いてみるとPHPの部分は簡単にわかるかと思います。
$で始まる部分は変数 $記号がコードを見るとたくさん入っているかと思います。$記号で始まる単語は、変数と言って何らかの値を代入しておくためにあります
/**または//と書いてある部分はコメント /**または//で始まる行はコメント行といい、PHPがプログラムとして解釈しない部分です(消しても何も動作に変わりがないということです)
ll、&&、! if 文は、もし~だったらその中の処理を実行せよという命令ですね。llは二つの条件がどちらかが真ならば、、&&はどちらも真ならば、!は真でないならば という意味になります
example() 単語があり、その後に()で囲まれた部分がある場合は関数といい、何らかの処理の塊を一度で実行するための命令文です。関数の本体は別の場所にある場合が多く、その本体はincludeやrequireという命令文で読み込まれています。(ただ、この命令文は奥まったところにあったりしますのですぐにどこにあるかわかるというわけではありません)
echo,print この命令は出力せよという命令です。実際にホームページを開いたときに眼に見える形で出力されている部分はこの命令で出力されることが多いです。ただ、ワードプレスの関数にはすでにこの出力する命令が含まれているものも多いので関数だけが書いてあることもあります。
_e この処理文は翻訳を取得して、翻訳がある場合はそちらの方を出力するという意味です
ヘッダーファイル(header.php)でよく使われるワードプレスのPHPコード
bloginfo('name')
この関数は、サイトの設定されているタイトルを出力するという意味です
bloginfo('description')
こちらは、サイトの設定されている小タイトルを出力するという意味です
if ( is_home() || is_front_page() )
この関数は、現ページがトップページであるかどうかを示しています
wp_nav_menu( array('menu' => 'ProjectNav' ))
この部分でメニューを出力しています。この事例では、ProjectNavという名前のメニューを出力する命令です
wp_head()
ワードプレスが共通で使用する、Javascriptやcssファイルを一括で出力する関数です
投稿ページや単一ページ(single.php、page.php)でよく使われるワードプレスのPHPコード
while (have_posts())
このコードはワードプレスのループという処理で、カテゴリーページにも出てくるとても重要な処理命令です。現在アクセスされているページの諸条件を解釈して、単一記事や記事リストを連続で出力してくれます。この関数をいじることで出力条件を変えたりもできます。
get_template_part()
この関数はループ内でどのようにコンテンツを出力するかを指定している部分です。この中に、単一記事全体を出力したり、リスト用に短く出力するためのテンプレートパーツの指定があるかと思います。この中で指定されている出力方法のPHPプログラムもテーマの中に含まれています
comments_template()
この関数は、コメント機能の表示部分ですね、もしcomments_templateをとってしまうとすべてのページのコメント機能が見えなくなってしまいます
get_sidebar()
サイドバー(ウィジェット)を取得して表示している命令です。
get_header()、get_footer()
header.phpやfooter.phpの出力内容を取得してページ中に表示する命令です
the_title()
現在表示中のページや投稿のタイトルを出力しています
記事リストページでよく使われるワードプレスのPHPコード
is_category()、is_archive()、is_month()
それぞれ、カテゴリーのリストページなのか、アーカイブリストのページなのか、月表示リストのページなのかを判定します
single_cat_title()
カテゴリー名を取得して表示します
the_posts_pagination()
リストの次のページや前のページへ遷移する機能を出力します
いかがでしたでしょうか?ワードプレスはこのように、固有の命令文が折り重なってページを出力しているのがお分かりになりましたでしょうか?