定制NAV-Menu-template.php的最佳方式是什么?

时间:2012-09-05 作者:Toc

我已经修改了函数start_el 在里面nav-menu-template.php 替换$item->ID 具有$item->title 所以htmlli 菜单中的元素具有更可读的类名。具体来说,我已经改变了路线

$id = apply_filters( \'nav_menu_item_id\', \'menu-item-\'. $item->ID, $item, $args );

$id = apply_filters( \'nav_menu_item_id\', \'menu-item-\'. $item->title, $item, $args );
这使得编辑style.css 文件以更轻松地创建主题。我想知道是否有可能从nav-menu-template.php 主题(可能functions.php?), 这样我就不会在每次升级WP版本时都被迫修改文件。

1 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

只需将以下内容添加到functions.php:

add_filters( \'nav_menu_item_id\', \'wpse64308_nav_menu_item_id\',10,3);
function wpse64308_nav_menu_item_id( $id, $item, $args){
    return \'menu-item-\'.$item->title;
}

结束

相关推荐

Wordpress Custom Menus Issue

在我的模板中,我使用这样的调用来输出一些自定义菜单:<?php wp_nav_menu(array(\'container_class\' => \'secondary-navigation\', \'theme_location\' => \'secondary\')); ?> 自从升级到WordPress 3.1.4后,我就可以获得完整的页面列表,而不是自定义菜单我看到修复程序(通过谷歌)说我应该添加以下内容来修复此问题:\'fallback_cb\' => f