Wordpress How to add class to <ul> of sidebar widget
The simple, but not so nice and more of a hack, is using Javascript/jQuery.
jQuery( document ).ready(function() {
jQuery('.widget > ul').addClass('nav nav-list');
});
I really dislike using javascript, but it does the job in this case.
I managed to do it this way:
Sidebar.php:
<!-- sidebar -->
<aside class="sidebar" role="complementary">
<div class="sidebar-widget">
<?php if(function_exists('dynamic_sidebar')) {
ob_start();
dynamic_sidebar('widget-area-1');
$sidebar = ob_get_contents();
ob_end_clean();
$sidebar_corrected_ul = str_replace("<ul>", '<ul class="menu vertical">', $sidebar);
echo $sidebar_corrected_ul;
}
?>
</div>
</aside>
<!-- /sidebar -->
I used output buffering to save the sidebar widgets into a variable and then used string replace to find all <ul>
tags and replace them with the <ul>
tag with the class.