当我尝试将以下代码放入我的functions.php中时:
register_nav_menus(array(
'primary' => __('Primary Menu'),
'footer' => __('Footer Menu')
));它返回给我以下错误:
分析错误:语法错误,意外的'register_nav_menus‘(T_STRING)
这是标题部分:
<nav class="site-nav">
<?php
$args = array(
'theme_location' => 'primary'
);
?>
<?php wp_nav_menu($args); #creates the menu according to my pages section?>
</nav>和页脚:
<nav class="site-nav">
<?php
$args = array(
'theme_location' => 'footer'
);
?>
<?php wp_nav_menu($args); ?>
</nav>发布于 2016-10-26 14:20:20
首先,你需要在after_setup_theme钩子上注册你的菜单
/********* After Setup Theme ***********/
add_action('after_setup_theme', 'my_theme_theme_setup');
if ( ! function_exists( 'my_theme_theme_setup' ) ){
function my_theme_theme_setup(){
add_action('init', 'my_theme_register_my_menus');
if ( ! function_exists( 'my_theme_register_my_menus' ) ){
function my_theme_register_my_menus(){
register_nav_menus(array(
'header-menu' => esc_html__('Header Menu', 'my_theme'),
'footer-menu' => esc_html__('Footer Menu', 'my_theme'),
));
}
}
}
}然后像这样使用它(这可以修改)
wp_nav_menu( array( 'theme_location' => 'header-menu', 'container' => false, 'menu_id' => 'main_menu', 'menu_class' => '', 'fallback_cb' => false ) )您有未定义的错误,因为您只是直接转到并注册菜单,而没有将它们附加到挂钩。
发布于 2016-10-26 14:58:19
您是否忘记了在functions.php中的前一行以分号结束?我敢打赌一定有一个;缺少;)
发布于 2017-07-05 22:38:50
你的function.php就像这样,你忘记了那个错误抛出的add_action()分号。
add_action('wp_enqueue_scripts','learningWordPress_resources')**;**
// Navigation Menus
register_nav_menus(array(
'primary' => __('Primary Menu'),
'footer' => __('footer Menu'),
));https://stackoverflow.com/questions/40254687
复制相似问题