カテゴリーページの記事に ID属性を指定

Posted on October 4th, 2008

わかりずらいタイトルになってしまいましたが、WordPressを CMSとして使用して Webサイトを構築する際に日々更新されるデータだけどシングルページで表示するまでもない記事があります。

シングルページでは表示しなくてもカテゴリーページで一覧表示されるような記事のカテゴリーには、見出し部分に ID属性を指定します。下記の例ではループ内で h2要素に指定したタイトルに “post-数字”の形で ID属性をあたえています。

<h2 id="post-<?php the_ID(); ?>"><?php the_title(); ?></h2>
<?php the_content(); ?>

トップページやサイトマップなどのページからはシングルページへのリンクではなくカテゴリーページの自分のアンカーへのリンクを指定します。

<?php
$cat = get_the_category(); $cat = $cat[0];
echo ‘<a href="’.get_bloginfo(url).’/category/’.$cat->category_nicename.’#post-’.get_the_ID().’">’.the_title(”,”,false).’ - ‘.$cat->cat_name.’</a>’;
?>

独自テンプレートを制作しシングルページへのリンクを設定しなければシングルページは表示されません。ただし RSSなどのリンクはシングルページに設定されているので、 index.phpまたは single.phpのテンプレートで書き出されるデザインで表示されます。RSSの書き出し方をカスタマイズできれば他にも方法はありそうですが、まだレベルがついていきません。