抜粋文を出力する「mb_substr」関数についてsingle.phpにパーツテンプレートを組み込む「関連記事」の表示にはWordPressのプラグインを使う方法もあるが、自由にレイアウトしたいのでプラグイン無しで作る方法を探した。Posts」が便利そうだ)結果、バッチリだったのがこちら。nelog.jpIT、Web系のプログラム関連を中心に、家電・生活用品に至るまで、幅広く検証し解説しているブログ。WordPress関連は、php初心者でもすぐに実現できるように考えられたソースを無償で公開してくれています。初心者心理への洞察力が鋭い、きめ細かい心遣いのあるソース。ありがとうございます!スポンサーリンク関連記事に表示させる1セットを作るまずは、関連記事として表示させたい部分の1セットを、HTMLとCSSで組む。「繰り返し表示」させたいモノを1コだけ、あらかじめキチンと作っておくってこと。本ブログの場合はこんなHTMLソース。これを後でphpとして保存する。本ブログのグリッドシステムによるものです。本ブログの場合は、前もって全てのページをHTMLで組むところから始めたので、前回のcontent.phpを作るときと同様に、1番最初に作ったHTMLファイル群の中の「single.html」(投稿ページ用レイアウト)を利用。その「関連記事」部分だけ残し、それ以外を削除したのが上記ソース。1セットを、適当な名前のphpファイル名で保存。本ブログでは「single_related.php」ってファイル名にした。「single_related.php」は、寝ログさんの元ソースを参考にさせていただきながら、このように書き換えた。'rand',ランダムじゃないほうがいいのでコメントアウト。?>ハイライト部分(13〜15行、25〜28行)は、WP_Queryと呼ばれるモノ。前回のループと似たかんじだが、よりカスタマイズしたいときに使う上級者向けのオブジェクトみたい。(ということで、初級者の私にはよく理解できていないが、寝ログさんのソースであっけなく目的は達成)最初の12行目までは、WP_Queryのための仕込み。現在の記事のカテゴリをゲット。$category_ID」を指定している。日本語版7〜12行までは、WP_Queryで使うパラメータを前もって指定してやっている。投稿&固定ページ用のパラメータ。今見ている記事は除外する。ページ送りパラメータ。これを3にすれば記事が3コ表示されるというわけ。表示する記事のカテゴリを指定。配列(array)であること。$category_IDを指定。並び替えのパラメータ。日付順や著者順などいろいろ指定できる。ランダム、デフォは’date’。日本語版で、WP_Queryのループの中に(16〜24行)先ほどのHTMLで組んだ1セットを入れ、「アイキャッチ・タイトル・抜粋文・パーマリンク」をWordPressのテンプレートタグで置き換えている。このテンプレートタグへの置き換えは後ほど詳細。使ったら必ずリセットする上のソースのWP_Queryの部分だけソースを書きだしてみた。基本形はこんなかんじ。リセット(12行目)しているのに注目。wp_reset_postdata()でリセットしなくてはならないんだって。WP_Queryで作ったクエリはメインじゃない。メインのクエリは「WordPressループ」を使って出力している「現在の記事」。1つクエリを加えるために「WP_Query」で「関連記事」を出力しているのがサブのクエリ。WP_Query)で実行WP_Queryを使って新たにサブのクエリを作ると、グローバル変数$post($postは「投稿情報」)や、$postの他の付随情報を更新(上書き)してしまう。そのままにしておくとページの表示に影響を及ぼしてしまうので、関数「wp_reset_postdata」を使って、グローバル変数$postを元に戻す($postが「現在の投稿記事」に戻す)というわけだ。」という意味の名詞&動詞。background.」なんてふうに使う。「〈問い合わせ〉の意。データベースに対する処理要求を文字列で表現したもの。リレーショナルデータベースでは、一般にSQLが用いられる」んだそうだ。「これ更新できる?(更新しろ)」などの「処理要求」(というか指令よね)だと私は思ってる。SQLは書けなくても、WordPress氏が通訳してくれるもんだから、データベースに「処理要求」できる。その1つ1つの「処理要求」が「クエリ」だと思えばいいんじゃないかな。先ほどのWP_Queryのループの中身部分のテンプレートタグについて。本ブログのグリッドシステムによるものです。18行目は、アイキャッチ画像にパーマリンクを貼っている。21行目は、記事のタイトルにパーマリンクを貼っている。[WordPressテーマ作成の手順2]パーマリンクについてはこちら:トップページ用テンプレートhome.phpを作る[WordPressテーマ作成の手順8]記事のタイトルについてはこちら:トップページ用テンプレートhome.phpを作る[WordPressテーマ作成の手順8]ちょっとややこしく見えるのが22行目。これは抜粋文を80字表示するための指定。「mb_substr」関数を使っている。[記事を読む]</a></p>「echo」はエコー(こだま)だが、phpでは文字列を出力する。「substr」は文字列の一部を取り出す関数。日本語(マルチバイト文字)を扱うなら「mb_substr」関数を使う。「,(カンマ)」で区切って使う。