WordPressでCompact Monthly Archiveを使おうとしたが、「default-widgets.php」は編集せず、テーマも編集せず、ウィジェットを追加する方法のメモです。
コアファイルを触ってしまうと、後で大変なので……。

【Compact Monthly Archiveを使う】
「default-widgets.php」でアーカイブを出力している部分、つまり「WP_Widget_Archives」クラスを修正する方法もありますが、コアファイルは触りたくないので、この方法はNG。
なので、「WP_Widget_Archives」クラスを参考にして、アーカイブを出力するウィジェットを作成し、そのウィジェットでコンパクトにしたアーカイブを出力します。

【ウィジェットを作成する】
幾つか方法があると思いますが、functions.phpに書いてしまう方法を採用します。
テーマのfunctions.phpに書いてしまうと、これもテーマが更新されたときにマージする必要が出てくるので、子テーマを作成して、そこのfunctions.phpにそのウィジェットを作成します。

子テーマの作り方はこちらのCodexページを参照してください
注意点も書かれているので要参考です。

子テーマのfunctions.phpに書いたコードは以下の通り。
「Compact Monthly Archive」をちょこっと修正して別プラグイン名にして利用しているため、function名が「compact_archive」から変更になっています。その部分は読み替えて下さい。


class Ekpro_Widget_Archives extends WP_Widget {
function __construct() {
$widget_ops = array('classname' => 'Ekpro_compact_archive', 'description' => __( 'A monthly archive of your site’s posts. It shows as "compact_archive"') );
parent::__construct('compact_archive(ekpro)', __('ModArchives(compact)'), $widget_ops);
}

function widget( $args, $instance ) {
extract($args);
$title = apply_filters('widget_title', empty($instance['title']) ? __('Archives') : $instance['title'], $instance, $this->id_base);

echo $before_widget;

if ( $title ) {
echo $before_title . $title . $after_title;
}

if (function_exists('compact_archive_ekpro')){
compact_archive_ekpro('numeric');
}

echo $after_widget;
}

function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$new_instance = wp_parse_args( (array) $new_instance, array( 'title' => '') );
$instance['title'] = strip_tags($new_instance['title']);

return $instance;
}

function form( $instance ) {
$instance = wp_parse_args( (array) $instance, array( 'title' => '') );
$title = strip_tags($instance['title']);
?>
<p><label for="<?php echo $this->get_field_id('title'); ?>"></label> <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>" /></p>
<?php
}
}
add_action('widgets_init', create_function('', 'return register_widget("Ekpro_Widget_Archives");'));



これで「ModArchives(compact)」というウィジェットが追加されるので、あとはウィジェットを使うときの普通の手順です。