private static void AddMVCMenuStyle(WPMenuModel.Item wpMenuItem) { //variable declartions var wpItem = new Dictionary <string, string>(); string wpId = wpMenuItem.id.ToString(); string wpType = wpMenuItem.type; string wpObject = wpMenuItem.type_label.ToLower(); var parentID = wpMenuItem.parent; string liBaseMenuClassChild = null; string liBaseMenuClassSubMenu = null; if (wpMenuItem.children != null) { //menu decoration for the sub level menu items wpItem.Add("ulSubMenuClass" + "-" + wpId, "class=dropdown-menu"); liBaseMenuClassChild = "dropdown"; AddMVCMenuStyle(wpMenuItem.children); } liBaseMenuClassSubMenu = parentID == 0 ? "" : "dropdown"; wpItem.Add("liBaseMenuId" + "-" + wpId, null); string liBaseMenuClass = null; if (!string.IsNullOrEmpty(liBaseMenuClassChild)) { liBaseMenuClass = string.Format("class=\"{0}\"", liBaseMenuClassChild); } wpItem.Add("liBaseMenuClass" + "-" + wpId, liBaseMenuClass); wpMenuItem.styles = wpItem; }
private static void AddWPMenuStyle(WPMenuModel.Item wpMenuItem) { //variable declartions var wpItem = new Dictionary <string, string>(); string wpId = wpMenuItem.id.ToString(); string wpType = wpMenuItem.type; string wpObject = wpMenuItem.type_label.ToLower(); var parentID = wpMenuItem.parent; string liBaseMenuClassChild = null; string liBaseMenuClassSubMenu = null; if (wpMenuItem.children != null) { //menu decoration for the sub level menu items wpItem.Add("ulSubMenuClass" + "-" + wpId, "class=sub-menu"); liBaseMenuClassChild = "menu-item-has-children"; AddWPMenuStyle(wpMenuItem.children); } liBaseMenuClassSubMenu = parentID == 0 ? "dropdown-menu" : "dropdown-submenu"; wpItem.Add("liBaseMenuId" + "-" + wpId, string.Format("id = menu-item-{0}", wpId)); wpItem.Add("liBaseMenuClass" + "-" + wpId, string.Format("class=\"menu-item menu-item-type-{0} menu-item-object-{1} {2} menu-item-{3} {4}\"", wpType, wpObject, liBaseMenuClassChild, wpId, liBaseMenuClassSubMenu)); wpMenuItem.styles = wpItem; }
private static void EnsureMenuSlugValue(WPMenuModel.Item wpItem) { //declaration var slugValue = wpItem.object_slug; var typeValue = wpItem.type; var url = wpItem.url; var id = wpItem.object_id.ToString(); //special treatment for taxonomy style types if (typeValue.ToString() == "taxonomy") { if (url != null) { //grab WordPress origin regex pattern var wpOriginPattern = WPEndPointRegexPattern(); //Replace link references to WordPress origin string classifiedPattern = string.Format(@"(?<={0}\/category)*", wpOriginPattern); string classifiedReplacement = WPEndPoint + @"/category"; Regex classifiedRegex = new Regex(classifiedPattern); if (classifiedRegex.IsMatch(url)) { slugValue = url.Replace(classifiedReplacement, ""); } } } else { //as a last ditch effort, assign the id as the slug if (string.IsNullOrEmpty(slugValue)) { if (id != null) { slugValue = id.ToString(); } } } //replace the original slug value with the slug value from the URL wpItem.object_slug = slugValue; //loop through each menu child item and ensure the same conditions apply if (wpItem.children != null && wpItem.children.Any()) { foreach (var childItem in wpItem.children) { EnsureMenuSlugValue(childItem); } } }