現在のページインデックスや投稿のインデックスを判断して、内容やcssクラスを変えるというやりかたでしょうね?
メニュー部分を独自で作っているなら、ちょっと手間がかかりますがその方法しかないでしょう。
ページリストなどのテンプレートタグですと、現在のページとそうでないページでcssクラスを分けてくれるのですが。
ご回答ありがとうございます。
メニュー部分は独自で追加したものになります。
リンクもページだったり、記事だったり様々になります。
その上で、どのページかを判断し、特定のリンクのみCSSを変更するということはできるのでしょうか?
どんなテーマなのかわからないので、条件分岐の例として
<?php
global $post; // ループ外の場合
if ( is_page('1') ) {
// ページID1の場合
} else {
// そうでない場合
}
?>
などを使っていくとか。
codex の条件分岐タグなどを参照することをお奨めします。
ありがとうございます。
こんなタグがあるとは知りませんでした。
条件分岐で判別できました。
ソースがえらいことになってしまう以外エラーもなさそうです。
助かりました。ありがとうございました。
解決済みですが、一応参考になれば。
yuga.js というスクリプトを使えば、現在のページのリンクに「class=”current”」を追加してくれます。
CSSだけでの実装なら、body に body_class() を利用すれば可能かと。(未検証)
html
<body <?php body_class(); ?>>
<!-- タブメニュー部分の li に IDを -->
<ul>
<li id="tab1"><a href="/123">投稿123</a></li>
<li id="tab2"><a href="/9">ページ9</a></li>
<li id="tab3"><a href="/category/wp">カテゴリーWP</a></li>
</ul>
CSS
.postid-123 #tab1, .page-id-9 #tab2, .category-wp #tab3 {
background:目立つ色; font-weight:700;
}
.postid-123 や .category-wp は、<body> に body_class() によって付けられたクラス名。
なお、WP3.0の新機能「カスタムメニュー」で悩みは解決される“かも”しれません。