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

时间:2010-08-11 作者:nobody

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

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

3 个回复
最合适的回答,由SO网友:John P Bloch 整理而成

最简单的方法是使用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\' ) );
SO网友:artlung

将此添加到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() 文档):

<?php
$args = array(
    \'menu\' => \'Main Menu\',
    \'sort_column\' => \'menu_order\',
    \'container\' => \'div\',
);
wp_nav_menu( $args ); ?>
SO网友:Ben Everard

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

<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>
);
结束

相关推荐