it-swarm.cn

如何为自定义菜单的主题添加支持?

我已经阅读了一些关于如何将版本3.0中添加的自定义菜单的功能添加到我的主题的教程,但它们似乎都有些不同,我不确定它们是否包含多余的代码。此外,我读到在RC和公共版本之间注册主题为菜单兼容的代码。

在我的主题中添加对自定义菜单的支持的最简单方法是什么?

6
nobody

最简单的方法是使用register_nav_menus函数。这应该挂钩到'after_setup_theme'

function my_cool_menu_function(){
  register_nav_menus( array(
    'primary' => 'Primary Navigation'
  ));
}

add_action( 'after_setup_theme', 'my_cool_menu_function' );

然后,在您的主题中,只需调用该菜单的位置:

wp_nav_menu( array( 'theme_location' => 'primary' ) );
9
John P Bloch

将其添加到主题的functions.php。如果你没有,请创建它:

<?php
add_theme_support('menus');
function register_my_menus() {
    $args = array( 
        'menu-1' => __( 'Main Menu' )
    );
    register_nav_menus( $args );
}
add_action( 'init', 'register_my_menus' );
?>

这可以去任何地方,我有header.php(见 wp_nav_menu() docs):

<?php
$args = array(
    'menu' => 'Main Menu',
    'sort_column' => 'menu_order',
    'container' => 'div',
);
wp_nav_menu( $args ); ?>
3
artlung

这个如何以最简单的形式包含自定义导航,我相信它选择了不带标识符的导航:

<div class="access">
  <?php wp_nav_menu(); ?>
</div>

还有一些基本选项可以传递给函数,这是我通常使用的:

$navArgs=array(
    'menu_id' => 'nav',    // target the nav menu
    'container' => '',     // don't wrap the menu in <ul>
);
0
Ben Everard