wordpress创建自定义菜单出错

我要给WordPress增加自定义菜单
方法:
第一步:functions.php

if (function_exists('register_nav_menus')){
    register_nav_menus( array(
        'nav1' => __('网站导航1'),
        'nav2' => __('网站导航2'),
        'nav3' => __('网站导航3'),
    ));
}
function wp_nav1_menu($class='nav1', $location='nav1'){
    echo '<ul class="'.$class.'">'.str_replace("</ul></div>", "", preg_replace("/<div[^>]*><ul[^>]*>/", "", wp_nav_menu(array('theme_location' => $location, 'echo' => false)) )).'</ul>';
}
function wp_nav2_menu($class='nav2', $location='nav2'){
    echo '<ul class="'.$class.'">'.str_replace("</ul></div>", "", preg_replace("/<div[^>]*><ul[^>]*>/", "", wp_nav_menu(array('theme_location' => $location, 'echo' => false)) )).'</ul>';
}
function wp_nav3_menu($class='nav3', $location='nav3'){
    echo '<ul class="'.$class.'">'.str_replace("</ul></div>", "", preg_replace("/<div[^>]*><ul[^>]*>/", "", wp_nav_menu(array('theme_location' => $location, 'echo' => false)) )).'</ul>';
}

第二步:page1.php

<?php wp_nav1_menu(); ?>

page2.php

<?php wp_nav2_menu(); ?>

page3.php

<?php wp_nav3_menu(); ?>

第三步:进入管理后台设置对应菜单,前台即可正常显示(菜单创建完毕)


问题:
我按照以上步骤在page4.php页面创建nav4的时候页面出错:
Fatal error: Call to undefined function wp_nav4_menu() in /……/page4.php on line x

阅读 3.2k
1 个回答

你在functions.php中只定义到了nav3,根本没有nav4,你在page4.php中调用wp_nav4_menu()肯定出错啊,因为它根本没有被定义过。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题