在特定帖子或页面上突出显示主菜单

时间:2013-08-25 作者:Lynne

我正在使用Genesis,并编写了一个自定义函数,该函数运行良好,但非常难看,并且包含一个css语句。目标是在某些页面或帖子上突出显示主标题菜单中的菜单链接。

如果从函数中删除css或从样式表中删除“#header#nav#menu-item-133 a”,则此函数不起作用。它必须两者兼备,所以即使它确实起到了作用,也有一些地方是不对的!

有人能纠正我的错误吗?谢谢

function blog_link_genesis() {
    if( is_single() || in_category(\'investors\') || is_page( array(4, 30))) { 
    $current = \'#header #nav #menu-item-133 a\';  }

    ?>
    <style type="text/css">
    <?php echo $current; ?> { color: #ff0;}
    </style>
    <?php }
add_action( \'genesis_header\' , \'blog_link_genesis\'  );

1 个回复
SO网友:s_ha_dum

如上所述,OP的代码会生成格式错误的CSS。根据请求,这里是更正的代码。它应该有助于解决部分问题(或防止其他问题),但我怀疑它能否解决所有问题。

function blog_link_genesis() {
  if( is_single() || in_category(\'investors\') || is_page( array(4, 30))) { 
    $current = \'#header #nav #menu-item-133 a\'; ?>
    <style type="text/css">
      <?php echo $current; ?> { color: #ff0;}
    </style><?php 
  }
}
add_action( \'genesis_header\' , \'blog_link_genesis\'  );
您真正需要做的就是将整个代码块滚动到if.

我怀疑你有XY problem 在这个问题上。如果你想更好地解释问题和期望的结果,我怀疑有更好的方法来解决这个问题。

如果您所指的菜单是带有“试用”、“云服务”、“Bright Eval”等的菜单,那么它看起来就像一个标准的WordPress菜单。如果查看标记,您将注意到许多有用的类。要添加更多要挂接的内容nav_menu_css_class something like what is done here.

结束