使用wp_nav_menu函数重新创建正确的header.php

时间:2018-04-30 14:29:32

标签: php wordpress

我在wordpress header.php文件上执行了错误操作。我使用一个名为039-fiorellini-lilla的主题。我试图重新下载这个主题,但我无法在网络上找到它(这是多年前从temi-wordpress.net下载的主题,我没有备份。)

问题很简单:我编辑了header.php文件,明确地为网站菜单编写HTML代码。

实际上这是我的header.php:

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> 
<!-- leave this for stats -->

<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" 
type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="<?php 
bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<script type="text/javascript" src="<?php bloginfo('template_url'); ? 
>/script.js"></script>
<?php wp_head(); ?>


</head>
<body onLoad="show_clock()"> 
<div class="PageBackgroundGradient"></div><div class="PageBackgroundGlare"> 
<div class="PageBackgroundGlareImage"></div></div>
<div class="Main">

<div class="Sheet">
 <div class="Sheet-body">
<div class="Header">
<div>
 &nbsp;</div>
</div>
<!--START HTML CUSTOM CODE--!>
<div class="nav">
<ul class="menu">
<li class="index.htm"><a href="http://www.BLABLABLA.org/index.htm" 
tppabs="index.htm" title="Home"><span><span>Home</span></span></a></li>
<li class="index2.htm"><a class="active" 
href="http://www.BLABLABLA.org/index2.htm" tppabs="index2.htm" title="Home"> 
<span><span>Home2</span></span></a></li>
<!-- END CUSTOM HTML CODE --> 
</ul>
<div class="l"></div><div class="r"><div></div></div></div>

我需要重新创建最初在此文件中的正确指令,以获得<!-- START CUSTOM HTML CODE --><!-- END CUSTOM HTML CODE -->之间可以看到的相同代码。 我想我可能必须使用wp_nav_menu函数,但实现它有很大的问题。在这个网站中,我只有一个导航菜单,名为NAVIGATION1。 我还需要参数class =“active”在实际可视化的网页上保持活动状态。

非常感谢您的支持。

1 个答案:

答案 0 :(得分:0)

好的,我使用此代码解决了菜单正确链接的问题:

     <ul class="menu">
     <?php wp_list_pages("link_before=<span><span>&title_li=&depth=1'&&    link_after=</span></span>");?>
     </ul>
     <div class="l"></div><div class="r"><div></div></div></div>

它工作正常。 我使用这个函数做了一些测试:

    add_filter('wp_list_pages', create_function('$t', 'return str_replace("<a ", "<a class=\"ACTIVE\" ", $t);'));

它的工作正常但是它将属性设置为菜单的所有页面,而我需要将此属性设置为菜单的第一级(无子页面)的活动页面(页面)在那一刻可以看到。)

可能另一种可能的解决方案是使用类.current-menu-item,它被添加到用户正在查看的当前页面的菜单项中,但是我有修改我的.css文件以添加正确属性的问题为了这堂课。 我之前说过,我需要当前页面具有与悬停页面相同的行为(相同的颜色,相同的字体等等)。 这是我悬停的.css文件的一部分:

elemento {
}
.menu li:hover a span span {
    color: #131112;
    background-position: left -24px;
}
.menu a:hover span span {
    color: #131112;
    background-position: left -24px;
}
.menu li:hover a span {
    background-position: right -24px;
}
.menu a:hover span {
    background-position: right -24px;
}
.menu a span span {
    font-family: 'Lucida Sans Unicode';
    font-size: 11px;
    font-weight: normal;
    font-style: normal;
    text-decoration: none;
    color: #EFD2E0;
    margin: 0 1px;
    line-height: 24px;
    text-align: center;
    background-image: url('images/item-center.png');
    background-position: left top;
    background-repeat: repeat-x;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 0;
    padding-bottom: 0;
}
.menu a span {
    background-image: url('images/item-right.png');
    background-position: right top;
    background-repeat: no-repeat;
}
.menu a, .menu a span {
    height: 24px;
    display: block;
}
.menu a {
    cursor: pointer;
}
a:hover {
     color: #000090;
}
 a:link {
     color: #87315B;
 }
 a {
     color: #87315B;
 }
 .menu li:hover {
     white-space: normal;
 }
 .menu, .menu ul {
     list-style-type: none;
 }
 .Sheet-body {
    text-align: left;
 }
 body {
     font-size: 62.5%;
     font-family: 'Lucida Sans Unicode', 'Lucida Grande', Verdana, Arial, 
     Sans-Serif;
     color: #000000;
  }

生成的HTML代码部分是:

...
...
....<li class="page_item page-item-36 ***current_page_item***"><li><span 
....class="separator"></span></li><a href="http://BLABLA.com/"><span> 
.....<span>index.htmk</span></span></a></li>
...
...

有人可以帮我修改我的.cssto添加活动页面的代码部分吗? 感谢