Hook into 'dynamic_sidebar' and count how often it is called.
Not tested! You get the current active sidebar with key( $GLOBALS['wp_registered_sidebars'] ).
add_action( 'dynamic_sidebar', 'wpse_96681_hr' ); function wpse_96681_hr( $widget ) { static $counter = 0; // right sidebar in Twenty Ten. Adjust to your needs. if ( 'primary-widget-area' !== key( $GLOBALS['wp_registered_sidebars'] ) ) return; if ( 0 !== $counter && 0 === $counter % 3 ) echoprint '<hr>'; $counter += 1; }