0

我正在 Wordpress 中构建一个主题,我需要在其中随时注册菜单。

下面的代码工作得很好,但它是静态的(在functions.php中)

function register_my_menus() {
register_nav_menus(

  array(
  'header-menu' => __( 'Header Menu' ),
  'footer-menu' => __( 'Footer Menu' ),
  'left-menu' => __( 'Left Menu' )
  )                 
)};

但是,我将菜单列表存储在下面的数组中。如何在上面的 register_nav_menus 中使用它?我试图运行一个 foreach,但在数组内部做到这一点并不容易,对吧?

$list_of_menus[];

上面的数组包含以下内容:

'fdsfds_fds' => __( 'fdsfds fds' ),
'Its_my_life' => __( 'Its my life' ),
'header-menu' => __( 'Header Menu' ),
'footer-menu' => __( 'Footer Menu' ),
'left-menu' => __( 'Left Menu' )

谢谢!

4

1 回答 1

1

似乎几乎不值得一个完整的答案,但这里有:

如果您的数组是:

$list_of_menus = array(
    'fdsfds_fds' => __( 'fdsfds fds' ),
    'Its_my_life' => __( 'Its my life' ),
    'header-menu' => __( 'Header Menu' ),
    'footer-menu' => __( 'Footer Menu' ),
    'left-menu' => __( 'Left Menu' )
);

然后注册是一个问题:

register_nav_menus($list_of_menus);

当然,这可能取决于的加载方式$list_of_menus- 您能否及时/在必须进行 register_nav_menus 调用之前加载它?

编辑
有几种方法可以构建您的阵列。以上是第一个。此外,您可以像这样向此数组添加元素:

$slug = "my_menu_slug';
$name = __('My Menu Name');

$list_of_menus[$slug] = $name;
于 2013-10-26T19:52:17.763 回答