Что плохого в прямых запросах к БД в Wordpress?
Если вы знакомы с понятие API, то такие вопросы НЕ должны возникать. Вы работаете с абстракцией и вам совершенно должно быть по барабану, что там внутри и как устроена база, которая в последних версиях значительно изменилась и будет менять в будущем.
Например, не так давно появилась новая таблица wp_termmeta - для хранения метаинформации по терминам, раньше эта информация лежала в wp_options.
В прямых запросах нет ничего плохого, если вы знаете что и зачем вы делаете, как защитить запрос от неверных данных, от инъекций, отфильтровать параметры. 
В обычной ситуации WP_Query вам хватит с головой. А ваш кейс решается простым прочтением документации в виде функции get_post_meta(). 
Если второй параметр у функции опустить, то будут получены все произвольные поля поста. Если вы хотите работать напрямую с SQL в обход API, в котором 2000 готовых функций, зачем вам тогда WordPress? Пишите на чистом коде.
Удачи в прочтении Кодекса WordPress!
Ничего плохого, просто если с какой-то версии изменится структура БД, то Вам придется переписывать запросы. А если Вы будете работать с объектом wp_query то этого делать не придется, т.к. разработчики его поправят под другую структуру