将变量拉入wp_NAV_MENU函数

时间:2017-01-05 作者:semidivine

我环顾四周,找不到任何对我有帮助的答案。

我有一个包含,我正在调用多个标题(对于需要不同菜单和资源的会员网站的不同部分,我有不同的标题。)

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\');
?>
我希望我在管理中创建的多个不同菜单进入同一位置,这似乎是最好的解决方案。问题是我无法让变量通过,无论我如何格式化它。我做错了什么?

1 个回复
最合适的回答,由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>
希望这有帮助。

相关推荐

如何将Java脚本添加到Custom-Page.php模板?

如何将javascript添加到自定义页面。php模板?如何使从w3schools ajax教程获得的以下javascript在自定义页面上工作。php模板?任何帮助都将不胜感激。工作javascript包含在以下HTML中:<!DOCTYPE html> <html> <style> table,th,td { border : 1px solid black; border-collapse: collapse;&#x