Создай произвольное поле даты и времени тут в помощь datapicker и timepicker. Далее через функцию strtotime превращаешь это в секунды. Получаешь разницу между текущим временем используя функцию time() и тем что задаёшь в поле. Дальше в своей функции просто wp_schedule_single_event( time() + результат разности ...