EZ-SPARROW > WordPressのメニューに連番でclassをつける

WordPressのメニューに連番でclassをつける

December 09, 2013

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が付与されていきます。

RELATED POSTS