Пользовательские меню не отображаются в настройках меню в WordPress - PullRequest
0 голосов
/ 08 июня 2018

Я новичок в 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.Функция register_my_menus была прямым копированием и вставкой из документа WordPress.Насколько я могу судить, я все делаю правильно (конечно, нет).

Одна вещь, которая кажется мне странной, состоит в том, что уже были вкладки для «виджетов», «меню» и «заголовок »на панели« Внешний вид ».Учитывая, что это пользовательская тема, которая началась с пустой папки, я не уверен, почему они вообще есть.

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Обычно меню регистрируются на крючке after_setup_theme.Я бы попробовал использовать это вместо init.

. Кроме того, вам не нужно регистрировать настраиваемые виджеты или поддержку области виджетов для отображения меню виджетов, WordPress многое вводит в ядро,независимо от вашей темы или активных плагинов.

И на второй взгляд кажется, что тема TwentySeventeen активна, учитывая, что Top Menu и Social Links Menu являются меню по умолчанию в теме TwentySeventeen (по умолчанию).

Из TwentySeventeen / functions.php :

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

Перейдите в Внешний вид> Темы и убедитесь, что ваша пользовательская тема активирована.

0 голосов
/ 08 июня 2018

Я всегда регистрирую меню таким образом:

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' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...