If you're using the dev version of ggplot2 you may want to take a peek at the release notes, as it addresses changes in aes() mapping that I think are relevant here:
Looking at the traceback for your function, it seems the issue is in the line
ggplot(date = . , aes(x = reorder(x, -Freq), y = Freq, fill = x))
I think you have the error because you forgot to unquote the x here, like you have done in group_by. reorder does not know what to do with an object which is not a vector (because not unquote)
You can use tidy evalutation in dev version of ggplot2 (and next 2.3 version coming soon) and I would do it this way:
I used ensym because we are inside a function and we want to capture user input.
I only capture one input. You could grouped by several variable, but you need only one in reorder and in fill= where x is used also. It is why I used !! instead of !!!.