Wordpress初心者です。

あるカテゴリーの全記事が表示されるページがあり、その中でアーカイブ毎に表示させるリンクと、そのカテゴリーの中にある子カテゴリー毎のリンクがあるページを作っています。
子カテゴリーのリンクをクリックしてもそのカテゴリーをよみに行ってくれないですが、
アーカイブのほうの記事はよみに行ってくれます。
子カテゴリー毎の記事も表示させたいですが、下記のコードであっていますか?

どなたか教えていただけると助かります。

<?php
$args = array(
    'post_type' => 'works',
    'post_status' => 'publish',
    'posts_per_page' => 24,
    'paged' => (get_query_var('page')) ? absint(get_query_var('page')) : 1,
    'tax_query' => array(
        array(
            'taxonomy' => 'works_cat',
            'field' => 'slug',
            'terms' => 'photo'
        )
    )
);
foreach ($_GET as $k => $v) {
    if (preg_match('/year(2[0-9][0-9][0-9])/', $k, $matches) === 1) {
        $args['year'] = $matches[1];
        break;
    }
}
$works_query = new WP_Query($args);
?>