Как вставить иконку только для первого пункта меню в Wordpress?
Либо просто с помощью CSS бекграундом или :after дописать, или же если нужно все-таки разметку вставить () - в админке для пункта меню укажите специальный css-класс, например has-icon-login, далее хукаетесь в walker_nav_menu_start_el и модифицируете разметку:function my_custom_markup( $item_output, $item, $depth, $args ) {

	// Отлавливаем элемент меню с нашим классом
	if ( in_array( 'has-icon-login', $item->classes ) ) {
		// Меняем разметку
		return str_replace(
			'<a',
			'<i class="icon-user"></i><a',
			$item_output
		);
	}

	return $item_output;

}
add_filter( 'walker_nav_menu_start_el', 'my_custom_markup', 100, 4 );
У вас есть примерно такая структура: Первый пунктВторой пункт
В стилях и пишем: 
.nav li:first-child{background: url(.../путь к иконке) no-repeat center left; padding-left: 20px;}
Это что-то примерное, нужно подстраивать под себя.