有没有人手动输出Wordpress菜单的工作示例? one on the Codex似乎不起作用,虽然我的menu_name slug“Footer”不能那么复杂..?我需要在外部菜单链接中添加屏幕外跨度以便于访问。我已经有CSS课程;我需要的是通过functions.php文件添加的特定标记。
我正在寻找的基本代码(请参阅带有'外部'类的列表项。为了简洁起见,Hrefs更改为#,它们在现实生活中链接到异地):
<ul id="menu-footer" class="menu">
<li class="menu-item">
<a href="#">About Us</a>
</li>
<li class="external menu-item">
<a title="Link opens in a new window." target="_blank" href="#">Terms & Conditions <span class="offscreen">Opens in a new window</span></a>
</li>
<li class="menu-item">
<a href="#">Comments Policy</a>
</li>
<li class="external menu-item">
<a title="Link opens in a new window." target="_blank" href="#">Privacy Statement<span class="offscreen">Opens in a new window</span></a>
</li>
<li class="menu-item">
<a href="#">Contact Us</a>
</li>
</ul>
答案 0 :(得分:1)
答案 1 :(得分:0)
选项1:
假设您已使用外观创建菜单 - &gt;菜单,您可以尝试以下方法。
完成上述步骤后,每个菜单项现在都有一个“CSS Classses”文本框,显示您可以在个别基础上分配CSS类(看看屏幕抓取)。
选项2:
您也可以尝试http://codex.wordpress.org/Function_Reference/wp_nav_menu#Adding_Conditional_Classes_to_Menu_Items
<?php
add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2);
function special_nav_class($classes, $item){
if(is_single() && $item->title == "Blog"){ //Notice you can change the conditional from is_single() and $item->title
$classes[] = "special-class";
}
return $classes;
}
?>
选项3:
如果上述2个选项不起作用,则可以使用jQuery。
HTH
答案 2 :(得分:0)
答案:导航菜单必须注册&amp;分配给主题,使Codex示例起作用。 DUH!
在functions.php中:
// default register any navigation menus
register_nav_menus(
array(
'footer' => 'Footer Menu',
'links' => 'Links Menu'
)
);
为您的主题分配菜单:
回到functions.php:
function accessibleAnchors($menu_name, $link_after = NULL){
if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] ) ) {
$menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
$menu_items = wp_get_nav_menu_items($menu->term_id);
$menu_list = '<ul id="menu-' . $menu_name . '" class="menu">';
foreach ( (array) $menu_items as $key => $menu_item ) {
// uncomment next line to see all array values
// print_r($menu_item);
$linkText = $menu_item->title;
$url = $menu_item->url;
$target = $menu_item->target;
$titleAttr = $menu_item->attr_title;
// hard-coding the first & only CSS class here, you could loop through others
$cssClass = $menu_item->classes[0];
if($target == '_blank'):
$titleAttr = " title=\"$titleAttr\"";
$span = "<span class=\"offscreen\"> Opens in a new window</span>";
else:
$span = "";
endif;
$menu_list .= '<li class="menu-item '.$cssClass.'"><a href="' . $url . '"'.$titleAttr. '>' . $linkText . $span . $link_after .'</a></li>';
}
$menu_list .= '</ul>';
}
return $menu_list;
}
现在调用模板中的函数:
<?php echo accessibleAnchors('footer'); ?>
动臂。
答案 3 :(得分:-1)
您必须从wp-includes / nav-menu-template.php开始,将该功能复制并粘贴到主题的functions.php中,并更改名称或使用functions.php中的过滤器更改所选的标记钩子。也可以看看wp-includes / nav-menu.php。
对不起,我无法提供更多细节。