Я использую пустой шаблон темы для создания темы wordpress, и я включил меню, добавив ниже код в header.php:
<body <?php body_class(); ?>> <div id="navbar"></div> <div id="wrapper" class="clear"> <nav> <?php wp_nav_menu( array('theme_location' => 'primary' ) ); ?> </nav>
И я добавил это в functions.php:
if (function_exists('register_nav_menus')) { register_nav_menus( array( 'main_nav' => 'Main Navigation Menu' ) ); };
Меню отображается и отлично работает, когда я добавляю ссылки на страницы, но когда добавляю специальную ссылку, чтобы сказать http://www.google.com, с меткой Google, ничего не отображается в навигационной панели. Когда я просматриваю источник, пользовательская ссылка вообще не заполняется.
<nav> <div class="menu"> <ul> <li class="page_item page-item-9"><a href="http://localhost/wordpress/anatomy/">Anatomy</a></li> <li class="page_item page-item-11"><a href="http://localhost/wordpress/history/">History</a></li> <li class="page_item page-item-7"><a href="http://localhost/wordpress/home/">Home</a></li> </ul> </div> </nav>
Мой css для навигации прост:
nav { padding:0; margin:0; position:absolute; width: 900px; } nav ul li {list-style: none; font-family: 'Numans', sans-serif; font-size: 15px; color: #ffffff; text-align:left; text-transform: uppercase; padding: 0; margin: 0 30px; display: inline; position: relative; top:-32px; } nav ul li a { text-decoration: none; color: #ffffff; } nav ul li a:visited {color: #ffffff; } nav ul li a:hover {color: #cccccc; } nav ul li a:active {color: #ffffff; }
Я очень новичок в php и wordpress theming, и я не могу найти никого в сети с той же проблемой.
Проблема заключается в том, что ваш theme_location
не соответствует имени, которое вы назначили, когда вы зарегистрировали меню.
Когда вы зарегистрировали меню, вы назвали его main_nav
. Поскольку вы его назвали, чтобы отобразить это меню, вам нужно изменить вызов в меню на ссылку main_nav
, например:
wp_nav_menu( array('theme_location' => 'main_nav' ) );