我环顾四周,找不到任何对我有帮助的答案。
我有一个包含,我正在调用多个标题(对于需要不同菜单和资源的会员网站的不同部分,我有不同的标题。)
template-main-nav.php:
<div id="nav">
<div class="close-menu"></div>
<?php
wp_nav_menu(
array(
\'menu\' => $menu_name,
\'theme_location\' => \'primary\',
\'depth\' => 1,
\'menu_class\' => \'main-menu\',
\'menu_id\' => \'main-menu\'
)
); ?>
<div class="header-tools">
<div class="icon-list">
<a href="/help" class="icon help trigger-help" title="help"></a>
<a href="/dashboard" class="icon account" title="my account"></a>
</div>
</div>
</div>
在每个header-x.php文件的头上方,我声明了$menu\\u name变量:
<?php
$menu_name = \'Section 1 Menu\';
get_template_part(\'template-main-nav\');
?>
我希望我在管理中创建的多个不同菜单进入同一位置,这似乎是最好的解决方案。问题是我无法让变量通过,无论我如何格式化它。我做错了什么?
最合适的回答,由SO网友:CodeMascot 整理而成
我认为你的范围不一样。您正在定义$menu_name
在一个作用域中,并在另一个作用域中调用它。所以你可以用global
变量如下-
$GLOBALS[ \'menu_name\' ] = \'Section 1 Menu\';
并这样称呼它-
<div id="nav">
<div class="close-menu"></div>
<?php
wp_nav_menu(
array(
\'menu\' => $GLOBALS[ \'menu_name\' ],
\'theme_location\' => \'primary\',
\'depth\' => 1,
\'menu_class\' => \'main-menu\',
\'menu_id\' => \'main-menu\'
)
); ?>
<div class="header-tools">
<div class="icon-list">
<a href="/help" class="icon help trigger-help" title="help"></a>
<a href="/dashboard" class="icon account" title="my account"></a>
</div>
</div>
</div>
希望这有帮助。