hentryのエラー対策を完成させよう
「hentryのエラー対策はモバイルフレンドリーの第1歩?」で紹介したように、
authorがありません | 記事を書いた人の名前 |
entry-titleがありません | タイトル |
updatedがありません | 記事を更新した日 |
の3種類の情報が足りないよ! と警告されていたhentryのエラー - そのエラーへの対策として投稿ページ用のsingle.php、固定ページ用のpage.phpに必要な修正を加え、その結果を確認しました。
その時の修正対象だった関数は
- the_author()
- the_title()
- the_time()
の3つ。
つまり、この関数で得られる情報それぞれにauthor, entry-title, updatedという識別を付けようというのが前回の作業でした。
そのとき、それぞれの関数とそれぞれの識別情報を関連付けたエレメントを実際のページ上で確認すると…
そして、ここからが今回の問題です。
author, entry-title, updated(the_author(), the_title(), the_date())は修正した投稿ページ(single.php)、固定ページ(page.php)以外、私のサイトのどこで使われているかを確認して、同じ関連付けをしたいのです。
サイトの構成を確認
ここでサイトの構成を再確認。どんなページが自分のサイトを構成しているかという確認です。
- home page
- 投稿ページ
- 固定ページ
- カテゴリーページ
- タグページ
- 404ページ
わざわざサイトの構成とページの関係を確認したのは、私のサイトの場合、上のスナップショットで示したタイトルや更新日を表示している同じレイアウトがほぼどのページでも使われているからです。
確認してみると、3つの項目を表示しているのは404ページ以外すべてのページ。ということは、修正が終わっている投稿ページ(single.php)、固定ページ(page.php)以外の3つのページを出力しているphpがあるはずなのですが…
該当する関数が使われているphpを確認
WordPressのメニュー[外観][テーマの編集]からphp, cssを中心にサイトを構成しているすべてのファイルにアクセスできますね。
ただ、同じ情報・同じレイアウトをもとに同じ関数の所在を確認するなら、grep*を思い出してください。
検索機能 grep を使うにはサイトを構成しているファイルがどのフォルダーにあるのかを分かっている必要がありますが、ファイルを開けては検索して… という繰り返し作業をしないために開発された機能ですから、納得の結果を得られます。
MEMO:
*: 開発(プログラム)環境を支援するために開発されたUnix OS生まれの検索機能です。WindowsのようなPC環境で使うテキストエディタの多くが、検索の中にこのgrep機能を持っています。
grepで確認してみると私のサイトでは、the_author(), the_title(), the_date() は常に3つセットで使われていることが分かりました。使われている場所はページの数で3つ、phpの数で2つ。
home page | 最新記事を連続して表示している スライダー |
slideshow.php |
カテゴリーページ | 記事を指定された数だけ連続して 表示しているページ |
loop.php |
タグページ |
このslideshow.php, loop.php はあくまで私のサイトの場合です。
テーマによってこのデザインは違ってきますから、これから先テーマを変更したりした時、そのテーマがhentryに関するエラーの基準になっているmicroformat.orgに対応していなければ同じ確認と修正作業が必要になることになりますね。
というよりも、どのテーマもmicroformat.orgに対応するようになっていくだろうと感じますが…^^