首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP意外的'register_nav_menus‘

PHP意外的'register_nav_menus‘
EN

Stack Overflow用户
提问于 2016-10-26 13:54:00
回答 3查看 781关注 0票数 2

当我尝试将以下代码放入我的functions.php中时:

代码语言:javascript
复制
register_nav_menus(array(
'primary' => __('Primary Menu'),
'footer' => __('Footer Menu')
));

它返回给我以下错误:

分析错误:语法错误,意外的'register_nav_menus‘(T_STRING)

这是标题部分:

代码语言:javascript
复制
<nav class="site-nav">

            <?php

                $args = array(
                    'theme_location' => 'primary'
                );
            ?>


            <?php wp_nav_menu($args); #creates the menu according to my pages section?>
        </nav>

和页脚:

代码语言:javascript
复制
<nav class="site-nav">
        <?php
            $args = array(
                'theme_location' => 'footer'
            );
        ?>

        <?php wp_nav_menu($args); ?>
</nav>
EN

回答 3

Stack Overflow用户

发布于 2016-10-26 14:20:20

首先,你需要在after_setup_theme钩子上注册你的菜单

代码语言:javascript
复制
/********* 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'),
                ));
            }
        }
    }
}

然后像这样使用它(这可以修改)

代码语言:javascript
复制
wp_nav_menu( array( 'theme_location' => 'header-menu', 'container' => false, 'menu_id' => 'main_menu', 'menu_class' => '', 'fallback_cb' => false ) )

您有未定义的错误,因为您只是直接转到并注册菜单,而没有将它们附加到挂钩。

票数 0
EN

Stack Overflow用户

发布于 2016-10-26 14:58:19

您是否忘记了在functions.php中的前一行以分号结束?我敢打赌一定有一个;缺少;)

票数 0
EN

Stack Overflow用户

发布于 2017-07-05 22:38:50

你的function.php就像这样,你忘记了那个错误抛出的add_action()分号。

代码语言:javascript
复制
add_action('wp_enqueue_scripts','learningWordPress_resources')**;**


// Navigation Menus
register_nav_menus(array(
'primary' => __('Primary Menu'),
'footer' => __('footer Menu'),
));
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40254687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档