Wordpressのナビゲーションメニュー項目をCSSクラスと共に出力しようとしています。foreach()ループ内の配列値を取得する
私はメニューアイテムを手に入れることができましたが、クラスはもっと複雑です。 CSSクラスは配列に入っていますが、既にforeach()
ループ内にあります。あなたが見ることができるように
$menu_items = wp_get_nav_menu_items($menu->term_id);
$menu_list = '<ul id="menu-' . $menu_name . '">';
foreach ((array) $menu_items as $key => $menu_item) {
$title = $menu_item->title;
$url = $menu_item->url;
$classes = $menu_item->classes;
$menu_list .= '<li>';
$menu_list .= '<i class=""></i>';
$menu_list .= '<a href="' . $url . '">' . $title . '</a>';
$menu_list .= '</li>';
}
$menu_list .= '</ul>';
、foreach()
ループ内で私が$title
と両方の文字列である$url
を取得しています。しかし、私は、メニュー項目に関連付けられたCSSクラスを$menu_item->classes
で取得しようとすると、配列を返し、どのようにこれを行うのか分かりません。
各メニュー項目は3つのCSSがfa fa-user fa-3x
をclasssesたので、私はこの
$classes[0] . $classes[1] . $classes[2]
を使用して値を返します。しかし、私は第三クラスを望んでいないと私は空のそれを残して、私は行方不明オフセット誤差を取得すると仮定することができます。
私はまた、元のforeach内
$menu_list .= '<li>';
foreach($classes as $class) {
$menu_list .= '<i class="'. $class .'"></i>';
}
$menu_list .= '<a href="' . $url . '">' . $title . '</a>';
$menu_list .= '</li>';
をforeachのをやってみました。しかし、これは私が欲しいものではありません各メニュー項目のための3個の別々の<i>
タグを返します。出力は、あなたが巣ループ...
foreach(...) {
... html stuff ..
echo '<div class="';
foreach($classes as $class) {
echo $class, ' ';
}
echo '">...</div>';
}
ブリリアント、ありがとうございました。 – Halnex