如何随机化我的菜单项?

时间:2012-04-26 作者:seanjacob

所以我想我可以这样做(而且我只想得到3)-

$menu_items = wp_get_nav_menu_items(26);
$menu_items = array_rand($menu_items, 3);

foreach ( (array) $menu_items as $key => $menu_item ) {
    $title = $menu_item->title;
    echo $title;
}

2 个回复
SO网友:kaiser

嗯,是的return 菜单fn的值为object: 你需要type cast 早些时候

$menu_items = (array) wp_get_nav_menu_items( 26 ); // Typecast here
$menu_items = array_rand( $menu_items, 3 );

foreach ( $menu_items as $key => $menu_item ) 
{
    echo $menu_item[\'title\'];
}

SO网友:Aaron Wagner

实际上,菜单函数的返回是一个对象数组。

出于某种原因,array\\u rand只返回了一个ID数组,所以我就是这样做的:

$menu_items = wp_get_nav_menu_items(\'menu_slug\');
$menu_items_rand = array_rand($menu_items, 3);
$random = array();
foreach($menu_items_rand as $ran)
    $random[] = $menu_items[$ran];

print_r($random)
你不想破坏$menu_items 数组,因为在foreach中需要它。

结束

相关推荐

将外部php库集成到WordPress-正确的方式

如果我要将自定义库加载到wordpress中,那么添加它的最佳位置是什么?由于在库的顶部定义了一组全局变量,因此我不希望通过一个钩子来完成这项工作,在钩子中,我被迫使用包装函数,从而将我的库全局变量视为该函数的本地变量。我的库开始于ob_start() // I\'m not sure how this would effect WP. So I\'m not too big on this. session_start(); // I do need this thoug