SQL-запрос в WordPress ломается чаще всего не из-за SQL, а из-за мелких ошибок в сборке строки
В базе WordPress основные проблемы повторяются: забыли префикс таблиц, перепутали типы данных, вставили значение прямо в строку запроса. В результате запрос либо падает, либо возвращает не то, что нужно.
Перед выполнением проверь 3 вещи:
— Таблица действительно называется через $wpdb->prefix, а не вшитым wp_
— Все значения проходят через prepare(), особенно ID и строки
— Сортировка и лимит заданы явно, иначе MySQL может вернуть неожиданный порядок
Отдельно следи за JOIN и WHERE: один лишний пробел в имени поля или неверный алиас превращает рабочий запрос в пустой результат. Для отладки сначала запускай упрощённую версию без JOIN, потом добавляй условия по одному. Если запрос длинный, собери его по частям и выведи итог через error_log(), а не пытайся искать ошибку на глаз.
Хорошее правило: если запрос нельзя прочитать за 10 секунд, его потом будет трудно поддерживать.
Работа с БД WordPress
@wp_database_mastery_ww
SQL-запрос в WordPress ломается чаще всего не из-за SQL, а из-за мелких ошибок в сборке строки
Этот пост опубликован в Telegram-канале Работа с БД WordPress. Подписаться можно по ссылке: @wp_database_mastery_ww.