У меня не было большого опыта с перехватом виджетов в WordPress, но я считаю, что это должно охватывать то, что вы просите.
<?php
if( !is_admin() ) {
$sidebar_id = 'your-sidebar-id-here';
$sidebars_array = wp_get_sidebars_widgets();
if( isset( $sidebars_array[$sidebar_id] ) && ( !empty( $sidebars_array[$sidebar_id] ) ) ) {
$first_widget = current( $sidebars_array[$sidebar_id] );
add_action( 'widgets_init', 'so4461485_widget_custom', 10000 );
}
}
function so4461485_widget_custom() {
global $wp_registered_widgets, $first_widget;
if( empty( $wp_registered_widgets ) )
return;
foreach( $wp_registered_widgets as $widget_id => $widget_data_array ) {
if( $widget_id != $first_widget )
continue;
if( isset( $widget_data_array['classname'] ) )
$wp_registered_widgets[$widget_id]['classname'] .= ' first_widget';
}
}
?>
Вам просто нужно заменить your-sidebar-id-here
(строка 3 кода) с действительным идентификатором боковой панели (то есть идентификатором, установленным при регистрации боковой панели).
Код может быть помещен в файл functions.php темы для удобства.Если у вас возникли проблемы с размещением кода, просто убедитесь, что вы не вкладываете теги PHP .. (например, <?php <?php
).
РЕДАКТИРОВАТЬ: Принятый ответ, вероятно, фактически решает вопрос,так что следуйте этому совету ..
Надеюсь, это поможет ...