【问题标题】:How to write an ARRAY in a FOREACH loop with PHP for Wordpress如何使用 PHP for Wordpress 在 FOREACH 循环中编写 ARRAY
【发布时间】:2013-10-27 10:06:33
【问题描述】:

我是数组新手,需要一点帮助。

基本上我想做的是随时随地注册菜单。所以我做了一个我认为会解决这个问题的循环。现在的问题是我真的不知道如何正确注册数组。

$lim = array(); 

foreach ( $new_menus as $menu => $value ) {

    $rname = get_post_meta(1,"$menu",true);                 
    $slugpath = preg_replace('/[^a-zA-Z0-9]/', '_', $rname );

    $lim[] = $slugpath => __( $rname );

    }
}

在上面的例子中,$slugpath 是 header-menu,$rname 是 Header Menu。最终我想要一个像下面这样的数组。我该怎么做?

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

【问题讨论】:

  • 除非你的 $new_menus 数组在键中有它的值,你应该在 get_post_meta 函数中使用 $value var 而不是键 $menu

标签: php arrays wordpress loops


【解决方案1】:

你应该像这样将它分配给数组:

$lim[$slugpath] = __($rname);

另外:

除非您的 $new_menus 数组在键中有它的值,否则您应该在 get_post_meta 函数中使用 $value var 而不是键 $menu,所以它看起来像这样:

$rname = get_post_meta(1,$value,true); 

如果你想在 slugged 文本中使用 - 符号,你应该用它替换 preg_replace 中的 _ 符号,如果你想要它全部小写,请使用 strtolower()

$slugpath = preg_replace('/[^a-zA-Z0-9]/', '-', $rname );
$slugpath = strtolower($slugpath);

【讨论】:

  • 只是观察,我们不能将$variables 传递给__(),只能传递文字字符串。
猜你喜欢
  • 2016-07-05
  • 2020-01-11
  • 1970-01-01
  • 2015-05-04
  • 2016-05-09
  • 2021-04-07
  • 2014-11-28
相关资源
最近更新 更多