Что бы отсортировать по клику используйте ajax
Сортировка по дате из произвольного поля зависит от того, как вы эту дату храните, если в Unix формате или как нибудь так 20150108
Можно пользовать стандарное APi движка
$args = array(
'orderby' => array(
'meta_value_num',
),
'order' => 'ASC',
'meta_key' => '%ключ поля%'
);
Если храните просто как дату, то вариантов тоже море, идете в гугл, набираете
"ordering wordpress post by custom field date" и выбираете по вкусу