WordPressでメニューに連番のclass名をつける方法のメモです。
個々のメニューにCSSを適用させたい時に便利ですね。
add_fillterを使ってclassを追加することができる。
function add_nav_menu_custom_class( $sorted_menu_items ) {
$num = 1;
foreach ( $sorted_menu_items as $key => $sorted_menu_item ) {
$sorted_menu_items[$key]->classes[] = '任意の名前' . $num;
if ( $num == 1 ) {
$sorted_menu_items[$key]->classes[] = 'menu-item-first';
} elseif ( $num == count( $sorted_menu_items ) ) {
$sorted_menu_items[$key]->classes[] = 'menu-item-last';
}
$num++;
}
return $sorted_menu_items;
}
add_filter( 'wp_nav_menu_objects', 'add_nav_menu_custom_class' );
上のコードの任意の名前に連番の前につけたい文字を入力しをfunction.phpに貼付ければOKデス。
1番から連番で”任意の名前1″,”任意の名前2″・・・・という具合でclassが付与されていきます。