需要在wordpress中动态突出显示图像精灵导航菜单的帮助吗

需要在wordpress中动态突出显示图像精灵导航菜单的帮助吗,wordpress,dynamic,navigation,sprite,highlighting,Wordpress,Dynamic,Navigation,Sprite,Highlighting,我在wordpress网站Im构建中有一个基于图像的菜单,我希望能够为每个部分动态高亮显示&更重要的是,在每个访问者查看其各自页面中的子页面或帖子时高亮显示 我已经整理好了如何让每个部分在查看父页面时都能很好地突出显示,但是当我选择查看帖子或子页面时,我遇到了一些麻烦,无法实现相同的效果 由于我利用分类将内容过滤到特定页面我可以通过使用:使每个部分在查看帖子时仍然突出显示,但不幸的是,这也导致了一些问题……发生的是,一旦博客和媒体部分都发布了内容,这两个部分就会同时突出显示,这显然不是我们要做的

我在wordpress网站Im构建中有一个基于图像的菜单,我希望能够为每个部分动态高亮显示&更重要的是,在每个访问者查看其各自页面中的子页面或帖子时高亮显示

我已经整理好了如何让每个部分在查看父页面时都能很好地突出显示,但是当我选择查看帖子或子页面时,我遇到了一些麻烦,无法实现相同的效果

由于我利用分类将内容过滤到特定页面我可以通过使用:
使每个部分在查看帖子时仍然突出显示,但不幸的是,这也导致了一些问题……发生的是,一旦博客和媒体部分都发布了内容,这两个部分就会同时突出显示,这显然不是我们要做的。无法真正理解为什么会发生这种情况,所以我删除了
中的
&

在过去的几周里,我一直在上下浏览“条件标签”部分,但没有找到我可以使用的其他标签,以便通过sprite菜单实现这一点。如果菜单中有一个单独的.php页面和父页面的子页面正在使用,那么如果有一个标签可以简单地查找,那将是理想的选择,而不是以“类别”为目标……但实际上找不到任何有用的东西,所以我希望一些php/wordpress专家能够指出正确的方向

这是我当前的标记:
HTML菜单

<ul id="nav">
    <li>
        <a href="/" id="logo"></a>
    </li>
    <li>
        <a href="/" id="home" <?php if ( is_front_page('events')) { echo ' class="home_highlight" '; } ?>></a><!-- HOME -->
    </li>
    <li>
        <a href="/artists" id="artists" <?php if ( is_page('artists')) { echo ' class="artists_highlight" '; } ?>></a><!-- ARTISTS -->
    </li>
    <li>
        <a href="/media" id="media" <?php if ( is_page('media')) { echo ' class="media_highlight" '; } ?>></a><!-- MEDIA -->
    </li>
    <li>
        <a href="/blog" id="blog" <?php if ( is_home('blog')) { echo ' class="blog_highlight" '; } ?>></a><!-- BLOG -->
    </li>
    <li>
        <a href="/store" id="store" <?php if ( is_page('store')) { echo ' class="store_highlight" '; } ?>></a><!-- STORE -->
    </li>
    <li>
        <a href="/contact" id="contact" <?php if ( is_page('contact')) { echo ' class="contact_highlight" '; } ?>></a><!-- CONTACT -->
    </li>
</ul>

我建议您在“ul”中使用echo,类似

<ul id="nav" class="<?php echo $post->ID; ?>">
..... li's and a's here
所以,当您在ul类为“N”的页面中时,您知道“主页”将处于活动状态。当你在“M”你知道艺术家是活跃的


PS:你甚至可以使用“classname”这样的自定义字段来实现更好的菜单控制。

为了防止其他人可能遇到我在这里遇到的相同问题,经过几个小时的wordpress codex筛选,我终于自己找到了解决方案

事实证明,这个问题的答案比我想象的要简单得多。你所需要做的就是利用WordPress自己的
标记……一旦你编码好了,就转到firebug,根据你所在的页面检查标记生成的输出类。因此,现在使用生成的类(特别是页面模板xxxx类)并通过CSS以该类为目标来突出显示您所需的内容非常容易,就像使用静态站点时一样


希望这能帮助其他人摆脱和我一样的困境

谢谢你的回复,你能帮我推测一下那里发生了什么吗?…谢谢,我不知道这对我有什么帮助,尽管从课堂上开始=“为每个帖子生成不同的唯一类ID。我需要一种方法,基本上只是在列表中的li元素中添加另一个条件,以便wordpress能够识别我正在访问一个子页面或一个家长的帖子,以便相应的导航部分保持突出显示…也许我没有理解您示例的要点,但我不认为这是我想要的,不过谢谢。如果是页面或子页面,则可以使用测试,然后使用echo ID,而不是post->ID。。更多关于检查是否子页面的信息:谢谢,我之前试过了,但由于你推荐了它,我又尝试了一次,但不幸的是仍然没有任何运气。。。我想知道JQuery是否更容易解决这个问题?如果我使用wp_列表_页面,这将是小菜一碟,但由于我硬编码了一个基于图像精灵的菜单,这不是一个选项……如果wordpress只是提供一种方法来生成活动状态类,就像wp_列表_页面一样,而不必实际使用该功能,那将是非常棒的。现在还不确定还能去哪里?我意识到is_category()在“寻找”一个类别,in_category()在“寻找”一个类别,所以我删除了is_category(),只保留在_category()中,我至少获得了我所追求的3个后驱动部分的结果,然而,我仍然基本上停留在广场一,因为我需要能够突出显示网站的其他部分时,访问一个子页面。似乎仍然无法找到一个好的解决方案,或者至少我可以自己解决:(经过进一步研究,发现body类并没有创建唯一的“页面”在访问单个页面时使用类,所以问题仍然存在…很遗憾Wordpress没有简单地通过body类添加更多的类,而它已经这样做了。如果你有一个没有图像的典型导航菜单,那么这些类真的会更有帮助,一旦你添加了图像,事情看起来就会变得复杂得多。
.N #home, .M #artists, .X #media { [active styling] } /* where N is home ID, M is artists ID, X is media ID and so on */