独自の JavaScript ソリューションを作成しました。
このスクリプトは 4 つの列を作成し、リスト アイテムを最小の列に配置してから、次の列に進みます。これは私が見つけた最も効率的な方法です\
function reformatMenu()
{
jQuery("#mainmenu td").each(function(index, elem)
{
jQuery("body").append('<div id="tempwrap"></div>');
var $tempWrapper = jQuery("body").find("#tempwrap");
var $menuwrapper = jQuery(this).find(".subwrapper");
$tempWrapper.append('<div class="menu_wrapper"><ul></ul></div><div class="menu_wrapper"><ul></ul></div><div class="menu_wrapper"><ul></ul></div><div class="menu_wrapper"><ul></ul></div>');
$menuwrapper.find("li.level-2").each(function(index, elem)
{
var $smallestWrapper = $tempWrapper.find(".menu_wrapper").first();
$tempWrapper.find(".menu_wrapper").each(function(index, elem)
{
if(jQuery(this).height() < $smallestWrapper.height())
{
$smallestWrapper = jQuery(this);
}
});
jQuery(this).appendTo($smallestWrapper.children("ul"));
});
$tempWrapper.children().appendTo($menuwrapper);
});
}
reformatMenu();
もっと効率的にできると確信していますが、これは私の最初のアイデアであり、完全に機能します。