Это определенно возможно, но если вы хотите сделать это динамически, вам нужно будет использовать фильтр.
Фильтр dynamic_sidebar_params
должен работать для вас. Если вы не знакомы с тем, что делают фильтры, в основном, фильтр позволяет вам редактировать контент до его отображения на экране или сохранения в базе данных. Подробнее здесь: http://codex.wordpress.org/Plugin_API/Filter_Reference
В фильтре dynamic_sidebar_params
переданный массив имеет следующую структуру (я получил это от print_r)
Array
(
[0] => Array
(
[name] => Primary Widget Area
[id] => primary-widget-area
[description] => The primary widget area
[before_widget] => <li id="search-2" class="widget-container widget_search">
[after_widget] => </li>
[before_title] => <h3 class="widget-title">
[after_title] => </h3>
[widget_id] => search-2
[widget_name] => Search
)
[1] => Array
(
[number] => 2
)
)
Это значит, что все, что вам нужно сделать, это отредактировать массив $params
перед его возвратом. Возможно, вам придется выполнить некоторую условную логику, чтобы получить именно тот класс, который вам нужен, но я оставлю это на ваше усмотрение.
Вот пример:
function my_edit_widget_func($params) {
$params[0]['before_title'] = '<h3 class="' . $params[0]['widget_name'] . '">' ;
return $params;
}
add_filter('dynamic_sidebar_params', 'my_edit_widget_func');