Боюсь, ваш вопрос слишком широкий, чтобы на него можно было ответить за один раз.
Я бы начал с добавления настраиваемого поля (например, activity_date) для даты и (предпочтительно) сохранения его в качестве метки времени unix в базе данных (см. Документацию WP для создания настраиваемых полей или метаданных)
В ваших шаблонах вы можете использовать пользовательский запрос, например
$querystr = "
SELECT $wpdb->posts.*
FROM $wpdb->posts, $wpdb->postmeta
WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id
AND $wpdb->posts.post_status = 'publish'
AND $wpdb->postmeta.meta_key = 'activity_date'
AND $wpdb->postmeta.meta_value = " . $date . "
";
$posts = $wpdb->get_results($querystr, OBJECT);
Что касается нумерации страниц, это еще одна история ...