問題描述

我已經閲讀了幾個教程,介紹如何將 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。