我喜欢使用Starkers Theme 并构建子主题。
所以,我想删除这个主菜单
Starkers(functions.php)
function starkers_setup() {
// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
\'primary\' => __( \'Primary Navigation\', \'starkers\' ),
) );
}
endif;
我的孩子主题功能。php如下所示:
unregister_nav_menu( array(
\'primary\' => __( \'Primary Navigation\', \'starkers\' ),
));
// my new nav
register_nav_menus(array(
\'primary_navigation\' => __(\'Main\', \'starkers\'),
\'utility_navigation\' => __(\'Meta\', \'starkers\')
));
但这对我不起作用。
怎么了
谢谢
最合适的回答,由SO网友:kaiser 整理而成
Starkers主题设置连接到after_setup_theme
, 优先级为10
. 因此,您基本上必须将unregister函数包装在另一个函数(child-themes functions.php文件)中,并将其添加到比父主题设置函数更晚的位置,因此它首先由父主题添加,然后由子主题删除。
function wpse_remove_parent_theme_locations()
{
// @link http://codex.wordpress.org/Function_Reference/unregister_nav_menu
unregister_nav_menu( \'primary\' );
}
add_action( \'after_setup_theme\', \'wpse_remove_parent_theme_locations\', 20 );