-1
<ul class="main-nav">
                <li class="menu-item <?php if( is_category('one') || in_category('one') ) echo 'current_cat'; ?>">
                    <a href="/category/one/">one</a>
                </li>
                <li class="menu-item <?php if( is_category('two') || in_category('two') ) echo 'current_cat'; ?>">
                    <a href="/category/two/">two</a>
                </li>
                <li class="menu-item <?php if( is_category('three') || in_category('three') ) echo 'current_cat'; ?>">
                    <a href="/category/three/">three</a>
                </li>
                <li class="menu-item <?php if( is_category('four') || in_category('four') ) echo 'current_cat'; ?>">
                    <a href="/category/four/">four</a>
                </li>
                <li class="menu-item <?php if( is_category('five') || in_category('five') ) echo 'current_cat'; ?>">
                    <a href="/category/five/">five</a>
                </li>
            </ul>

底线是在主页(index.php)上分配了类别(实际上理论上这不应该发生),仔细检查我意识到主要的类别由页面上的第一个帖子决定 - 在他属于哪个类别。假设主页上出现了“2”类别的最新消息 - 那么索引页面是“2”类别......问题是什么以及如何解决它对我来说不是很清楚的行为?哪些功能没有考虑到?感谢您未来的回答。

我请求原谅我蹩脚的英语。

4

2 回答 2

1

首先,确保代码没有在循环内运行,这可能是关键问题。如果即使在循环之外也发生这种情况,您可以通过如下修改条件来避免在主页上触发它:

if( is_category('one') || (in_category('one') and is_single()) )
于 2012-04-18T12:41:50.467 回答
0

If I understand what you are asking, you don't want this code to trigger on the home page?

to make sure this is only run on individual post pages put this all between:

<?php if(is_single(): ?>
      <!-- your code-->
<?php endif; ?>

is_single
stll I'm not sure what you are asking.

于 2012-04-17T07:49:38.030 回答