After reviewing your website, I noticed that when a user clicks on a category, they are directed to the specific category's webpage. As a result, the subcategories are currently not displayed on the homepage.
Your initial suggestion is to modify the menu template in your CMS if it permits customization.
AN ALTERNATIVE APPROACH IS PROVIDED BELOW, ALTHOUGH MODIFYING THE TEMPLATE IN YOUR CMS WOULD BE PREFERABLE
By incorporating this code snippet, whenever a user visits the homepage, the following script will instruct the browser to make Ajax calls to all categories with subcategories. Upon receiving the source of each category page, it locates the list of subcategories and integrates them into the menu on the homepage accordingly.
To test this code, simply navigate to your website's homepage, open the console, and paste the initial functions followed by the script inside the onload function.
//Define a function to perform an AJAX call and execute a callback upon successful retrieval of the target page's source
function getSubPageSource(url, successCallback) {
var xhr = XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
//Execute callback with the response text upon source retrieval
successCallback(xhr.responseText);
}
};
xhr.open('GET', url, true);
xhr.send();
}
//Encapsulate within an onload event
window.onload = function() {
//Identify all categories with subcategories
var categories = document.getElementsByClassName('has-subcategories');
//Iterate through each category
for (var ii = 0, nn = categories.length; ii < nn; ii++) {
//Utilize a closure to pass a static index value
(function(ii) {
//Retrieve element
var element = categories.item(ii);
//Obtain ID
var id = element.getAttribute('data-category');
//Fetch URL
var href = element.getAttribute('href');
if (id && href) {
//If found
getSubPageSource(href, function(data) {
//Locate subcategories
//Extract section starting from where ID appears first
var substrSource = data.substr(data.indexOf('data-category="'+id+'"'));
//Remove remainder of the category title
substrSource = substrSource.substr(substrSource.indexOf('</a>'));
//Eliminate subsequent category finding
substrSource = substrSource.substr(0, substrSource.indexOf('home-categories-main'));
//Omit start of next category, retaining source of all subcategories
substrSource = substrSource.substring(0, substrSource.lastIndexOf('<a '))
//Insert after category title in main menu
console.log(id, substrSource);
//Create new node
var newNode = document.createElement("span");
//Inject source into new node
newNode.innerHTML = substrSource;
//Insert new node after current element
element.parentNode.insertBefore(newNode, element.nextSibling);
});
}
})(ii);
}
};
This implementation may solely function on the HOME PAGE ONLY, as testing beyond this scope has not been conducted. Application on other pages could potentially duplicate subcategory lists on respective category pages.
NOTE: A significant drawback of the featured technique is that whenever a visitor accesses your homepage, their browser simultaneously loads all category pages containing subcategories. As a result, your server will have to serve multiple pages for every homepage visit.
I highly recommend exploring options to customize the menu template in your CMS instead of utilizing the aforementioned script
Upon pasting the script above, your homepage should display the requisite links, visible in the accompanying screenshot below.