故あってワードプレスでサイトを作ることになったのですが、どうせならテーマを作ることにしました。なぜなら後から追加でメンテナンスをするのが面倒だから。作ったら後は勝手に更新してください、という状態にしないとわざわざWordpressで作る意味がないですからね。
そしてテーマを作る際にTheme Checkプラグインでテストをすると、でるわでるわ必須、非推奨、エラーの嵐。
一つずつ潰していってなんとか数カ所に収まったのですが、全く意味がわからない赤文字の必須が一つ。検索しても全く該当することがない。当たり前すぎてだれも書いていないのかもしてませんが、本を読んだりして順を追って作成していないのでさっぱりわからないエラー。
それが、「このテーマにはタグが表示されていません」。
「このテーマにはタグが表示されていない」のタグってどのタグ?
タグと一言にいってもHTMLタグからサイト説明のTags、独自タグまでいろいろあるのでどのタグのエラーかわからなかったのです。翻訳元を見ても良くわからない。というか全く同じ内容。
丸一日どころか時間のあるときにずっと調べていましたが、全く情報がありません。でも他のテーマではそんなエラーはでていない。たぶん当たり前のように入っているものなのなんでしょうが、他のエラーではエラーを修正するキーワード的な案内が出るのに、これについてはまったく表示がない。
同じタグという言葉がどれだけあると思っているんだと。検索しても該当しない記事ばかり。微妙に古い記事が多いので新機能なのか悩んだりする。ずぶのど素人がWordPressのテーマをイチから作るというのが間違いといえば間違いなのかもしれないとブランクテーマに手をだそうとし始めて、またエラーの嵐に心が折れました。
そしてふとこのブログを見たところ、タグクラウドが目に入りました。
テーマのタグとは記事のタグのことだった
結論なのですがsinge.phpなどに表示されるカテゴリとは別の記事ごとのタグのことでした。カテゴリ分けより細かくて使いどころに困る、ウィジェットに表示されるタグクラウドに表示されるあれです。私は適当に思いついた単語を突っ込んでいるので後から泣きを見るかもしれません。
さて、このエラーの解決方法、single.phpかどこかにそれぞれの記事のタグを表示するコードを入れるだけでいいんです。私はタグごとにカンマで区切りたいので記事の下にこう書いておきました。
<?php $sep = ( ‘, ‘ ); the_tags( $sep ); ?>
これだけ。
$sepの部分が前と中間と後に何を表示するかというものです。詳しくは公式で。
わかっている人にとっては当たり前の情報なんでしょうが、記事のタグをいちいち入れない人もいますし。ブログの機能として当然ならリファレンスに書いておいて欲しかった。
これでエラーがすべて消えて、晴れてチェックにすべて通りました。
ブランクテーマも使わずにノンデザイナーでノンプログラマー、さらにブログは面倒くさくて既存のテンプレートそのまま使えばいいやという程度の人間がやることじゃない……。
そして特定の機能を使おうとするとエラーが出ない代わりに何も反応がないとかもでてきました。恐ろしい。
普通に使う機能としては問題ないんですが本当にそのまま使ってもいいんでしょうか。