заранее хочу решить этот вопрос и выбрать более верное решениеПредварительная (ака преждевременная) оптимизация вредна, по очевидным профи причинам. Для новичков это становится идеей фикс - как бы не сделать плохо, и сразу оптимально. Что приводит к размазыванию задачи вокруг возможных решений, вместо реализации ЛЮБОГО рабочего решения, в рамках задачи. И вот если тесты показывают что есть проблемы с производительностью, тогда думать как решить проблему. В 99% случаев все работает настолько хорошо, что любые оптимизации либо дадут мизерный прирост (вышеупомянутая экономия на спичках), либо только сделают хуже. Все современные инструменты разработки и исполнения ПО уже оптимизированы под типовые задачи, в кои безусловно и очевидно входит и поиск по слагу...
а проблему производительности решают при помощи модулей кеширования и тем самым снижают нагрузку на сервере.какую проблему производительности? У вас есть проблемы с производительностью? Вы уже все протестировали и сделали вывод что без кеширования тормозит?
найти человека, который согласится написать корзину и личный кабинет на JS для WP практически нереально или слишком дорого,Нет, или я выразился не верно, или вы поняли не так. На том же апворке ОЧЕНЬ много разработчиков под вордпресс, другой вопрос что среди них есть как толпа индусов, так и приличный пласт вполне адекватных разработчиков. Хотя бы исходя из того что вордпресс ОЧЕНЬ распространен. Стоит описать нормально требуемый функционал, и как минимум закинуть запрос на пару фриланс сайтов. А уже дальше исходя из предлагаемых бюджетов и количества откликов решать что делать.
Смотришь лог ошибок, так как вряд ли что-то "не работает" просто так.
блоки не будут зависеть от html, изменил компонент - изменился вывод всех зависимых элементов. с обычным html так не выйдет - в бд уже будет храниться строгий html, соответственно для изменений придется вносить изменения в КАЖДЫЙ пост (и речь не о стилях, а о разметке)Пример плс, а то что-то я не догоняю, как может поменяться "компонент" настолько, что поможет только его переписывание??? И чем поможет в этом случае ббкод?
Если к готовому датасету нужны джоины типа картинок и имен - просто добавляем джоины. Зачем и откуда появился dialog_id? Если диалог это именно 2 пользователя, то зачем он? Если это чат на много пользователей, то и структура должна быть другая.
Есть вариант неименованных плейсхолдеров, как я выше написал, тогда в $stmt->execute() просто передается массив, из которого по порядку берутся значения и ставятся вместо "?", типа
$stmt->execute([$id, $id]);