我有一个父主题正在使用此代码创建菜单:
function cornerstone_menus() {
register_nav_menus(
array(
\'header-menu-left\' => __( \'Header Menu (left)\', \'cornerstone\' ),
\'header-menu-right\' => __( \'Header Menu (right)\', \'cornerstone\' ),
\'footer-menu\' => __( \'Footer Menu\', \'cornerstone\' )
)
);
}
add_action( \'init\', \'cornerstone_menus\' );
在我的子主题中,我想要自己的菜单,所以我已经创建了它们,但这三个父主题菜单项仍然显示在“外观”>“菜单”部分。我的子主题中有一个函数可以删除菜单:
function remove_cornerstone_menus() {
unregister_nav_menu( \'header-menu-left\' );
unregister_nav_menu( \'header-menu-right\' );
unregister_nav_menu( \'footer-menu\' );
}
但我不知道该采取什么行动才能让它发挥作用。我假设,由于菜单创建是在“init”操作中调用的,我可以这样做:
add_action(\'init\', \'remove_cornerstone_menus\');
但菜单仍然会显示出来。我在其他地方读到,我需要加入after\\u setup\\u主题操作,因此我尝试了以下方法:
add_action(\'after_setup_theme\', \'remove_cornerstone_menus\');
但这也没用。我不知道如何删除菜单。我可以手动删除它们,但如果主题更新,我将不得不再次执行,我正试图避免这种情况,这就是我使用子主题的原因。有人能给我指出正确的方向吗?