Starkers Theme を使用して、child-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;
私の子供テーマのfunctions.phpはこんな感じです:
unregister_nav_menu( array(
'primary' => __( 'Primary Navigation', 'starkers' ),
));
// my new nav
register_nav_menus(array(
'primary_navigation' => __('Main', 'starkers'),
'utility_navigation' => __('Meta', 'starkers')
));
しかし、それは私には効果がありません。
どうしましたか?
ありがとう
Starkersテーマ設定は、after_setup_theme
の優先順位で10
にフックされています。ですから、基本的に、登録解除関数を別の関数(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 );
これは間違いなくあなたのために働くはずです、私はちょうどチェックアウトしました
add_action( 'after_setup_theme', 'remove_default_menu', 11 );
function remove_default_menu(){
unregister_nav_menu('primary');
}