web-dev-qa-db-ja.com

カスタムメニューでどこのリンクが生成されているかをナビゲートメニューの現在のページで強調表示しますか?

これは私が使っている2番目のナビゲーションメニューです。

    <ul id="forums">
        <?php $custom_posts = new WP_Query(); ?>
        <?php $custom_posts->query('post_type=bbp_forum'); ?>
        <?php while ($custom_posts->have_posts()) : $custom_posts->the_post(); ?>
            <li><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></li>
        <?php endwhile; ?>
    </div><!-- #access -->

フォーラムと呼ばれるカスタム投稿タイプをリストするカスタムループです。

私はこのように現在のフォーラムのリンクを強調したいと思います。

enter image description here

助言がありますか?

2
janoChen

それで、私が正しく理解しているならば、あなたが単一の投稿ページにいるとき、あなたはpost_type bbp_forumのすべての投稿があるナビゲーションメニューが欲しいです。

私は(post_typeがなくても同じようなケースがありましたが、追加するのは問題ではありません)、同じカテゴリの 投稿について述べたコードを単一の投稿ページ に使用しました。

コードは次のようになります(post_typeをカスタマイズした場合)。

<ul>  
  <?php global $post; $cat_posts = get_posts('post_type=bbp_forum');
  foreach($cat_posts as $post) : ?>  
    <li <?php if($post->ID == get_the_ID()){ ?>class="cur_post" <?php } ?>>
        <a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) );  rel="bookmark"?>" ><?php the_title(); ?></a>
     </li>
  <?php endforeach; ?>
</ul>

私はそれがあなたが意味していたことを願っています。

P.S - 開始<ul>タグがあり、終了<div>タグがあることもわかります。

2
Lea Cohen