Есть типы записи doctor и clinic.
У записей doctor есть доп поле типа post object, в котором хранится id записи типа clinic.
Если нужно найти докторов по id клиники, то проблем с запросом не возникает.
А что делать, если нужно найти докторов по названию клиники? Или по части названия?
У меня есть 2 варианта:
1) Писать кастомный запрос, не используя wp_query.
2) Разбить на 2 запроса. Сначала найти id нужной клиники, а потом по id найти докторов.
Есть еще варианты решения?
Сайты на WordPress + Интернет магазины WooCommerce
Все верно. Но приоритеты я бы поменял. Эта задача относительно легко решается на WP Query. В малом объеме. Ваш п.2.
В крупных системах это все решается через подключение Algolia/Elastic/Sphinx.
И промежуточный вариант, он же наиболее хрупкий, сложный и геморный - это писать свои SQL запросы. Но если первый вариант начнет захлебываться, а на второй не хватит бюджета, то можно писать свой SQL.
Есть еще несколько вариантов с разной степенью изврата и сумасшествия, но там много разных но и если и их применение должно быть под чутким наблюдением WP-профессоров которых судя по характеру вопроса у вас нету :)
Это самое простое что приходит в голову. И пока это будет работать значит самое правильное.
Если это когда то станет узким горлышком - тогда и надо это решать.
Преждевременная оптимизация - корень всех зол.