2
2 月
こちらで質問させていただいてよろしいでしょうか?
<Li>で書き出したアーカイブメニューに、
現在の表示ページURLと同じ場合は、<div class=”open”>
そうでない場合は、<div class=”close”>
〜などと色分けや四角で囲って、
どのページを選択しているかわかりやすくしたいのですが、
現在URLとリンクのURLを比較するPHPはどうかかけばいいでしょうか?
Wordpress タブ などで探しましたが見つかりませんでした。
よろしくお願いいたします。
12:12 AM on 2 月 4th, 2009
いとじゅんさん、こんばんは!
サイドバーやヘッダーのメニューを、現在のページとリンクして色分けなどするもっとも簡単なやり方は、下記のテンプレートタグを使う方法です。
wp_list_categories()
→カテゴリ一覧を<li>で表示
wp_list_pages()
→”ページ”一覧を<li>で表示
このタグを使うと、現在表示しているページと同じカテゴリorページの<li>には
class=”current-cat”
class=”current_page”
が挿入されるので、このclassをスタイルシートで設定すると希望どおりになります。
または、WordPressの「コンディショナルタグ」というのを使うとできます。
is_page(’3′)
→現在表示しているページのIDが3ならtrue
is_category(’日記’)
→現在表示しているカテゴリーが「日記」ならtrue
<li<?php if(is_page(’3′)){ echo ‘ class=”open” ‘; }?>>○○○○</li>
↑この場合「現在表示しているページのIDが3なら、liにclass=”open”を付加する」という意味になります。
いとじゅんさんの例なら、
<div<?php if(is_page(’3′)){ echo ‘ class=”open” ‘; } else { echo ‘ class=”close” ‘; } ?>>○○○○</div>
ですかね。書き方はいろいろありますが。
やりたいことはこういうことで良かったですかね?
↓上記タグは他にもいろいろバリエーションがあります!
http://wpdocs.sourceforge.jp/Conditional_Tags?rdfrom=http%3A%2F%2Fbono.s206.xrea.com%2Fwiki%2Findex.php%3Ftitle%3DConditional_Tags%26redirect%3Dno
9:35 PM on 2 月 4th, 2009
丁寧なご説明ありがとうございます。
早速試そうと思います。
9:54 AM on 5 月 2nd, 2009
みやざわさん
お返事遅れましたが、私のケースでは、結局以下のようなコードで解決いたしました。
cat_ID”;}$myposts = get_posts(’orderby=post_date&order=ASC&category=’.$catid);foreach($myposts as $post)
>
<li ID )){ echo ‘class=”open” ‘; }?> >
<a href=”">
なんとなく動いてくれている、といった感じです><
10:04 AM on 5 月 2nd, 2009
みやざわさん
お返事遅れましたが、私のケースでは、結局以下のようなコードで解決いたしました。
〈ul〉
〈?php $cat = get_the_category(); $cat = $cat[0];{$catid= “$cat-〉cat_ID”;}$myposts = get_posts(’orderby=post_date&order=ASC&category=’.$catid);foreach($myposts as $post)
〉
〈li 〈?php if(is_single( $post-〉ID )){ echo ‘class=”open” ‘; }?〉 〉
〈a href=”〈?php the_permalink(); ?〉”〉〈?php the_title(); ?〉〈/a〉
〈/li〉
〈?php endforeach; ?〉
〈/ul〉
なんとなく動いてくれている、といった感じです><