WordPress

时间:2018-06-07 21:39:29

标签: php wordpress macos custom-wordpress-pages

我是一名WordPress初学者,在我使用MAMP设置的本地服务器上工作。我创建了样式,索引,页脚,标题和函数文档,PHP组装了所有内容,没有任何问题。该网站按预期发布了我的所有文件。然后我尝试将自定义菜单添加到管理仪表板中的外观面板/菜单,但它们不会显示。

这是我的文件夹层次结构的快照:

shot of folder hierarchy

这是管理页面的屏幕截图:

enter image description here

到目前为止,这是我的functions.php文件中的所有代码:

<?php

function macsc_script_enqueue() {
    wp_enqueue_style('customstyle', get_template_directory_uri() . '/css/macsc.css', array(), '1.0.0', 'all');
    wp_enqueue_script('customjs', get_template_directory_uri() . '/js/macsc.js', array(), '1.0.0', true);
}

add_action('wp_enqueue_scripts', 'macsc_script_enqueue');

function register_my_menus() {
  register_nav_menus(
    array(
      'header-menu' => __( 'Header Menu' ),
      'extra-menu' => __( 'Extra Menu' )
    )
  );
}
add_action( 'init', 'register_my_menus' );

我已经阅读了几个堆栈溢出线程并查阅了WordPress Codex支持文档。 register_my_menus函数是WordPress doc的直接复制和粘贴。据我所知,我正确地做了一切(当然不是这样)。

对我来说,有一件事似乎很奇怪,那就是已经有&#34;小部件的标签,&#34; &#34;菜单&#34;和#34;标题&#34;在外观面板中。考虑到这是一个以空文件夹开头的自定义主题,我不确定为什么会有这些主题。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

通常菜单在after_setup_theme挂钩上注册。我尝试使用它代替init

此外,您不需要为窗口小部件菜单注册自定义窗口小部件或窗口小部件区域支持,无论您的主题或活动插件如何,WordPress都会在内核中引入很多内容。

乍一看,考虑到Top MenuSocial Links Menu是TwentySeventeen(默认)主题中的默认菜单,TwentySeventeen主题似乎处于活动状态。

来自 TwentySeventeen / functions.php

register_nav_menus( array(
    'top'    => __( 'Top Menu', 'twentyseventeen' ),
    'social' => __( 'Social Links Menu', 'twentyseventeen' ),
) );

转到外观&gt;主题并确保您的自定义主题已激活。

答案 1 :(得分:0)

我总是以这种方式注册菜单:

if ( !function_exists( 'theme_setup' ) ) {
    function theme_setup() {
        /*
         * Some settings functions
         */
        register_nav_menus(
            array(
                'header-menu' => __( 'Header Menu', 'domain' ),
                'extra-menu'  => __( 'Extra Menu', 'domain' )
            )
        );
    }
}
add_action( 'after_setup_theme', 'theme_setup' );