我正在尝试将静态导航菜单转换为WP动态导航。
这就是我所拥有的:
<nav>
<ul id="menu">
<?php
$pages = array( 'index.php' => 'Home', 'services.php' => 'Services', 'sitemap.php' => 'Calculators', 'about.php' => 'About'
, 'contact.php' => 'Contact' );
$query = $_SERVER['PHP_SELF'];
$path = pathinfo( $query );
$selected = $path['basename'];
foreach( $pages as $url => $title ) {
$li = '<li ';
if( $url === 'index.php' ) {
$li .= 'class="alpha"';
} else if ( $url === 'contact.php' ){
$li .= 'class="omega"';
}
if( $selected == $url ) {
$li .= 'id="menu_active"';
}
$li .= '><a href="' . $url . '"><span><span>' . $title . '</span></span></a></li>';
echo $li;
}
?>
</ul>
</nav>
但我读过我需要使用它吗?
<?php wp_nav_menu( array(
'theme_location' => 'primary',
'container' => false,
'menu_class' => 'menu'
) ); ?>
我真的没有得到它,也没有如何实现这个?有任何想法吗?我真的很困惑,所以非常需要和赞赏。感谢。
答案 0 :(得分:0)
<?php
$defaults = array(
'theme_location' => '',
'menu' => '',
'container' => false,
'container_class' => '',
'container_id' => '',
'menu_class' => 'menu',
'menu_id' => '',
'echo' => true,
'fallback_cb' => 'wp_page_menu',
'before' => '',
'after' => '',
'link_before' => '',
'link_after' => '',
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
'depth' => 2,
'walker' => ''
);
wp_nav_menu( $defaults );
?>
试试这个。这将使用您在Wordpress中设置的默认菜单。您也可以指定非默认菜单的菜单名称。这会将菜单项包装在<ul></ul>
标记中。
答案 1 :(得分:0)
你可以试试这个:
wp_nav_menu( array( 'container' => 'ul', 'menu_class' => 'menu', 'depth' => 2,'theme_location' => 'primary' ));
并在functions.php中编写以下代码:
if ( ! function_exists( 'nav_setup' ) ):
function nav_setup() {
// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
'primary' => __( 'Primary Navigation', 'StreetCoder' ),
) );
}
尝试使用firebug,你会发现li标签中的一些类,current-menu-item
,sub-menu
li ul li
,父current-menu-parent
li
子项目,子项目中的current-menu-ancestor
等。将您的css属性转移到这些类中。
此外,如果你想包含特定li的特定课程,请转到Appearance>menus
,你会在右上角找到一个选项,即“屏幕选项”,点击那里。面板将被展开,然后选中“显示高级菜单属性”下的“CSS Classes”选项。现在,从右侧面板展开菜单后,您将找到一个输入字段“CSS Classes(可选)”。只要把特定的课程放在那里。
面板。
我希望这一切都能与菜单配合使用。 :)