Intereting Posts
Страница архива типа персонализированной почты: установка сообщений на страницу, разбиение на страницы Получение значения обзора с использованием класса wpdb Nginx – Правило только для загрузки в WordPress WordPress запрашивает внутреннее соединение внутри одной таблицы 5 раз? Получить сообщение от ASC из поля custome Получить правильное значение meta_value с помощью get_post_meta Название места (в правильном месте) над изображением с непрозрачным фоном перенаправить удаленные / составленные страницы wp_enqueue_script был вызван неправильно Проблема с поиском в WordPress с поиском html-тегов Невозможно изменить информацию заголовка – кеш сервера запрос Все сообщения типа Post A и конкретные налоговые льготы из типа Post B Перенаправление пользователей после первого входа Постоянная ссылка для недавней публикации Как решить проблему с подозрением на память в пользовательском цикле WordPress?

Где определено расположение темы для главного меню в шаблоне WordPress?

Я довольно новичок в WordPress (я пришел из Joomla), и у меня есть следующее сомнение, связанное с расположением темы в главном меню.

Например, используя предустановленную тему Twenty Twelve , если в бэкэнд я вхожу: Внешний вид —> Меню —> Управление местоположением Я могу назначить основное меню только для определенного места темы с именем Primary Menu .

Я думаю, что эта область находится в файле header.php темы Twenty Twelve (потому что мое главное меню показано в заголовке страницы), но я не могу его найти, это содержимое header.php :

<?php /** * The Header template for our theme * * Displays all of the <head> section and everything up till <div id="main"> * * @package WordPress * @subpackage Twenty_Twelve * @since Twenty Twelve 1.0 */ ?><!DOCTYPE html> <!--[if IE 7]> <html class="ie ie7" <?php language_attributes(); ?>> <![endif]--> <!--[if IE 8]> <html class="ie ie8" <?php language_attributes(); ?>> <![endif]--> <!--[if !(IE 7) | !(IE 8) ]><!--> <html <?php language_attributes(); ?>> <!--<![endif]--> <head> <meta charset="<?php bloginfo( 'charset' ); ?>" /> <meta name="viewport" content="width=device-width" /> <title><?php wp_title( '|', true, 'right' ); ?></title> <link rel="profile" href="http://gmpg.org/xfn/11" /> <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" /> <?php // Loads HTML5 JavaScript file to add support for HTML5 elements in older IE versions. ?> <!--[if lt IE 9]> <script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script> <![endif]--> <?php wp_head(); ?> </head> <body <?php body_class(); ?>> <div id="page" class="hfeed site"> <header id="masthead" class="site-header" role="banner"> <hgroup> <h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1> <h2 class="site-description"><?php bloginfo( 'description' ); ?></h2> </hgroup> <nav id="site-navigation" class="main-navigation" role="navigation"> <h3 class="menu-toggle"><?php _e( 'Menu', 'twentytwelve' ); ?></h3> <a class="assistive-text" href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentytwelve' ); ?>"><?php _e( 'Skip to content', 'twentytwelve' ); ?></a> <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?> </nav><!-- #site-navigation --> <?php if ( get_header_image() ) : ?> <a href="<?php echo esc_url( home_url( '/' ) ); ?>"><img src="<?php header_image(); ?>" class="header-image" width="<?php echo get_custom_header()->width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="" /></a> <?php endif; ?> </header><!-- #masthead --> <div id="main" class="wrapper"> 

Где это основное меню или как оно определено в теме?

Tnx

Andrea

Solutions Collecting From Web of "Где определено расположение темы для главного меню в шаблоне WordPress?"

Расположение меню определяется в functions.php

Вы можете прочитать код для получения дополнительной информации о том, как определить расположение меню в functions.php

Меню регистрации

Во-первых, в функции functions.php вашей темы вам нужно написать функцию для регистрации имен ваших меню. (Так они появятся на экране «Внешний вид -> Меню».) В качестве примера это меню появится в поле «Тематические местоположения» в виде «Меню заголовка».

 function register_my_menu() { register_nav_menu('header-menu',__( 'Header Menu' )); } add_action( 'init', 'register_my_menu' ); 

И это создаст два параметра меню, меню заголовков и дополнительное меню –

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

Дисплей меню на тему

Как только вы это сделаете, ваша тема будет почти готова. Последний этап подготовки – указать тему, где вы хотите, чтобы меню отображалось. Вы делаете это в соответствующем файле темы. Так, например, мы могли бы захотеть, чтобы наше меню заголовков находилось в header.php. Поэтому откройте этот файл в редакторе тем и решите, где вы хотите разместить свое меню. Код для использования здесь – wp_nav_menu, который нам понадобится один раз для каждого расположения меню. Итак, добавьте этот код –

 <?php wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); ?> 

Все, что вам нужно, это убедиться, что theme_location указывает на имя, которое вы указали для своего меню, в коде functions.php выше. (Обратите внимание, что здесь используется меню заголовка, а не меню заголовка без дефиса. Header-menu – это имя, которое понимает код, Header Menu – это версия для человека, которую вы видите на странице администратора.)

Чтобы завершить код, вы можете добавить дополнительное меню в другое место. Возможно, вам нужно, например, меню на одной из ваших страниц, и вы даже можете захотеть, чтобы его немного разоблачили с содержащим DIV определенного класса –

 wp_nav_menu( array( 'theme_location' => 'extra-menu', 'container_class' => 'my_extra_menu_class' ) ); 

Таким образом, вы поместили бы это в свой шаблон страницы, и не только меню появлялось там, где вы его положили, оно было бы составлено как my_extra_menu_class, чтобы вы могли работать с ним в CSS.

Вы также можете подключить дополнительное меню из вашего дочернего файла functions.php без изменения каких-либо родительских файлов тем.

 add_action( 'wp_head', 'add_extra_nav' ); function add_extra_nav() { wp_nav_menu( array( 'theme_location' => 'extra-menu', 'container_class' => 'nav-menu' ) ); } 

Просто измените класс контейнера на то же, что и ваша тема, и оберните функцию в существующем классе, который использует ваша тема для основного или дополнительного меню, поэтому вам не нужно добавлять CSS. Обычно вы можете найти это в header.php.

Измените привязку wp_head на любой другой крючок WordPress или темы.