У тебя у постов есть по умолчанию дата создания и обновления. Дату обновления можно менять через админку.
-1 делом напиши запрос для получения через wp_query всех постов post_type = product и отсортированого по дате.
-затем foreach -ом пройди по все полученным элементам и добавляй в ассоциативный массив посты, ключом масcивом делай год(его можно получить через get_the_date('Y')).
У тебя получится массив в виде
$arr = array(
'2007' => array('1 журнал', '2 журнал'),
'2008' => array(),
'2009' => array(),
'2010' => array(),
)
Выводи его как тебе угодно))) Если надо помочь с кодом, то могу чуть позже)