2015-11-28 2 views
0

Я делаю тему Wordpress. Теперь я работаю с меню. Я написал этот код в functions.phpWordpress меню действует странно

register_nav_menus(array(
'topmenu' => 'Top Menu', 
'bottommenu' => 'Bottom Menu', 
'sidemenu' => 'Side Menu' 

));

и их код в index.php

<!DOCTYPE html> 
<html <?php language_attributes();?>> 
<head> 
<meta <?php bloginfo('charset'); ?> > 
<link rel="stylesheet" type="text/css" href="<?php bloginfo('stylesheet_url');?>" /> 

<?php wp_head(); ?> 
</head> 

<body <?php body_class();?>> 
<div id="page"> 
    <?php wp_nav_menu(array(
    'theme-location' => 'topmenu' 
    ));?> 
</div> 

--------------- 
--------------- 
--------------- 
--------------- 
<div id="page"> 
    <?php wp_nav_menu(array(
    'theme-location' => 'bottommenu' 
    ));?> 
</div>  
<?php wp_footer(); ?> 
</body> 
</html> 

Затем я сделал меню под названием "First Menu" и назначенную его 'topmenu'. Но оно появилось как в «topmenu», так и «bottommenu». Затем я назначил его «bottommenu», результат такой же. Затем я назначил его «sidemenu», результат будет таким же. (Хотя в index.php нет кода для «sidemenu»). Разве это не слишком странно? Проблемы еще не завершены. Я сделал другое меню под названием «Второе меню» и назначил его «bottommenu». Затем «Первое меню» исчезло из обоих мест, и «Второе меню» было видно. Теперь я хочу знать, какие ошибки я сделал.

ответ

0

У вас есть неправильный код, он должен быть theme_location

<?php wp_nav_menu(array(
'theme_location' => 'topmenu' 
));?> 

или Вы можете использовать это, 'First Menu' это название меню

<?php wp_nav_menu(array(
'menu' => 'First Menu' 
));?>