Для вашего примера кажется, что с использованием SQL-запроса по-прежнему самый эффективный способ , даже если вы можете использовать WC_Order_Query
.Разработчики все еще используют много SQL-запросов, когда это необходимо, легче и точнее. WPDB Wordpress Class - способ сделать это.
Кроме того, существует множество специфических встроенных функций Woocommerce, которые тоже можно использовать (и некоторые из Wordpress тоже).
Все новые сеттеры и методы получения Woocommerce CRUD очень мощные, но используются, например, для получения конкретных данных из заказа или для внесения программных изменений в существующий заказ, повторнорассчитать итоги и сохранить его в базе данных.
Для методов CRUD вокруг объекта заказа вы можете взглянуть на исходный код в WC_Checkout
для метода create_order()
, который будетпоказать вам, что эти методы используются для создания полного заказа.Как вы увидите в конце, метод save()
зарегистрирует все данные в базе данных.
Для возобновления: Не существует уникального способа,но многие, в зависимости от того, что вы хотите сделать, от времени, которое нужно потратить, и от ваших навыков. Для вас здесь есть SQL-запрос.
Для «как это сделать?» Вы уже спрашивали, что в другомсвязанный вопрос и Гордон Линофф (пользователь с самым высоким рейтингом для SQL и mySQL) действительно может помочь вам в этом сложном запросе SQL.