夏至ゲシげしの金曜日~((*’∀’)ノ{Hello!
はい、早速前回の続きでValidatorエラーの2つ目を見ていきますよ。
a要素のrel属性
エラーが出ているのはこの部分。記事の所属カテゴリーが書かれている部分ですね。
Bad value category tag for attribute rel on element a: The string category is not a registered keyword or absolute URL.
rel属性に「category」というキーワードは登録されていない、と。
該当するソース部分は下記の2行目、「rel=”category tag”」。
トップページで表示されている記事の数だけ、このカテゴリーに関するエラーが出ていました。
なんでよ、また廃止?と思ったら逆でした。
categoryはまだValidatorに反映されていない
(↑画像クリックで拡大します)
Markup Validation Serviceでエラーチェックをすると更に細かい説明文が見れます。大事な部分だけ訳すと…
rel要素の値にはHTMLの仕様書に準拠したリンクタイプを使用する必要があり、仕様書に載っていない場合はMicroformats wikiのリンクタイプを参照すること。Microformats wikiへは誰でも登録することができる、とのこと。
「rel=”category tag”」については、tagはすでに仕様書に記載されていますが、categoryがありません。でもcategoryもMicroformats wikiには登録されていました。ということで新たに登録をする必要は無し。
じゃあなんでエラーになるのか?それはValidatorの最新バージョンのリリース日よりも、categoryが登録された日のほうが後だからでした(笑)
What’s New at The W3C Markup Validation Service: 2012-03-13 — 1.3 release
rel-category · Microformats Wiki: Revision as of 20:22, 30 July 2012
ということはValidatorが更新されればエラーは消えるのですが、今すぐにエラーを消すためにはphpを修正する必要があります。
Twenty Twelveを書き換える
category tagは「wp-includes/category-template.php」の中で設定されています。163行目で
$rel = ( is_object( $wp_rewrite ) && $wp_rewrite->using_permalinks() ) ? 'rel="category tag"' : 'rel="category"';ここを直せば一発ですが、直接編集は行わず、今回も子テーマを使います。初めてのfunctions.php。操作を間違えると恐ろしいことになるやつ…(笑)
functions.phpに追記する
ここでphpについて詳しくは書きません(というか書けません)。とりあえず新規で「functions.php」という名前のファイルを作成し、下記のように記述してください。すでにファイルがある人は下記の2行目からを書き足せばOK。
「rel=”category tag”」は「rel=”tag”」に置換、「rel=”category”」の場合は削除させています。
UTF-8形式で保存したfunctions.phpを子テーマディレクトリにアップロードし、サイトのソースをもう1度見てみると…
エラーが消えました♪「rel=”tag”」に置き換わっています。
functions.phpファイルをいじるときはいくつか注意点があるのですが、長くなっちゃうので次回に回そうと思います∠(・`_´・ )
ちょっと来週忙しいのでどうなるかわかりませんが…
——————–
今日はSaaSesの飲み会なんですってよ奥様。
“男の娘(こ)”が来るらしいので見てくる!写真ここにアップしたら怒られるかな(笑)