问题描述

我已经阅读了几个教程,介绍如何将 3.0 版本中添加的自定义菜单的功能添加到我的主题,但它们似乎有所不同,我不知道它们是否包含多余的代码。此外,我读到,在 RC 和公开发行版之间,menu-compatible 注册您的主题代码已更改。

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

最佳解决方案

最简单的方法是使用 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' ) );

次佳解决方案

将其添加到您的主题的 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 ); ?>

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。