WooCommerce — как получить идентификатор продукта, артикул и цену из объекта $product?
Опубликовано: 2022-09-15Как получить идентификатор продукта? Как получить артикул товара? Или как получить цену продукта, акции, цену продажи, обычную цену, класс доставки, налоговый класс, изображения, размеры, атрибуты, категории и многое другое?
Если вы технарь, я сформулирую это так: «Как получить ____, если у меня есть объект/переменная $product?»
Выбор продуктов, которые присутствовали в заказе, применение расширенных фильтров продуктов, редактирование цен и описания… вам нужны сведения о продуктах для выполнения различных операций в магазине.
В этой статье перечислены некоторые коды, которые вы можете использовать для получения продукта по идентификатору, продукту по категории, продукту по цене, продукту и другим сведениям в WooCommerce, чтобы отметить свои задачи управления запасами.
А также, как вы можете получать и управлять всеми сведениями о своих продуктах, заказами, купонами, любым пользовательским типом сообщений WordPress из одного места, тем самым увеличивая производительность вашего магазина в 10 раз.
Итак, начнем.
Получение информации о продукте из объекта $product с помощью кода
Не всегда у вас есть доступ к объекту $product (например, я говорю о хуках WooCommerce). Разберитесь в своем случае и посмотрите, можете ли вы «получить» этот объект $product другим способом.
В этом случае вам нужно найти способ «получить объект $product из $product_id».
Другими примерами могут быть страница заказа или страница корзины. Здесь у вас действительно нет доступного товара $, поэтому вам нужно пройтись по элементам заказа/корзины и «получить» его. После этого вы можете рассчитать и получить любую необходимую информацию из $product.
У вас есть доступ к переменной $product
Хуки (do_action и apply_filters) используют дополнительные аргументы, которые передаются функции. Если они позволяют вам использовать объект «$product», это здорово. В качестве альтернативы вы можете объявить «глобальный продукт $» внутри своей функции.
В обоих случаях вы получаете всю информацию о продукте следующим образом:
// Получить идентификатор продукта $продукт->get_id(); // Получить общую информацию о продукте $продукт->get_type(); $продукт->get_name(); $продукт->get_slug(); $продукт->get_date_created(); $продукт->get_date_modified(); $продукт->get_status(); $продукт->get_featured(); $product->get_catalog_visibility(); $продукт->get_description(); $product->get_short_description(); $продукт->get_sku(); $продукт->get_menu_order(); $продукт->get_virtual(); get_permalink($product->get_id()); // Получить цены на товары $продукт->получить_цену(); $продукт->get_regular_price(); $продукт->get_sale_price(); $product->get_date_on_sale_from(); $product->get_date_on_sale_to(); $продукт->get_total_sales(); // Получить налог на продукт, доставку и запасы $product->get_tax_status(); $product->get_tax_class(); $продукт->get_manage_stock(); $product->get_stock_quantity(); $продукт->get_stock_status(); $продукт->get_backorders(); $product->get_sold_individually(); $продукт->get_purchase_note(); $product->get_shipping_class_id(); // Получить параметры продукта $продукт->get_weight(); $продукт->get_length(); $продукт->get_width(); $продукт->get_height(); $продукт->get_dimensions(); // Получить связанные продукты $product->get_upsell_ids(); $product->get_cross_sell_ids(); $продукт->get_parent_id(); // Получить варианты и атрибуты продукта $продукт->get_children(); // получаем варианты $продукт->get_attributes(); $product->get_default_attributes(); $product->get_attribute('attributeid'); //получить конкретное значение атрибута // Получить таксономию продуктов $продукт->get_categories(); $product->get_category_ids(); $продукт->get_tag_ids(); // Получить загрузку продукта $продукт->get_downloads(); $product->get_download_expiry(); $продукт->get_downloadable(); $продукт->get_download_limit(); // Получить изображения продукта $продукт->get_image_id(); $продукт->get_image(); $product->get_gallery_image_ids(); // Получить обзоры продуктов $product->get_reviews_allowed(); $product->get_rating_counts(); $product->get_average_rating(); $product->get_review_count();
У вас есть доступ к $product_id
Если у вас есть доступ к идентификатору продукта (опять же, обычно do_action или apply_filters делают это возможным), вы должны сначала получить объект продукта. Затем сделайте то же самое, что и выше.
// Получить объект $product из идентификатора продукта $продукт = wc_get_product($product_id); // Теперь у вас есть доступ к (см. выше)... $продукт->get_type(); $продукт->get_name(); // так далее. // так далее.
У вас есть доступ к объекту заказа или идентификатору заказа
Как получить информацию о товаре внутри Заказа? В этом случае вам нужно будет перебрать все элементы, присутствующие в заказе, а затем применить правила, указанные выше.
// Получить объект $product из $order / $order_id $order = wc_get_order($order_id); $items = $order->get_items(); foreach ( $items as $item ) { $product = $item->get_product(); // Теперь у вас есть доступ к (см. выше)... $продукт->get_type(); $продукт->get_name(); // так далее. // так далее. }
Также читайте — Как получить дополнительную информацию из объекта $order.
У вас есть доступ к объекту Корзина
Как получить информацию о товаре внутри корзины? В этом случае вам снова нужно будет пройтись по всем товарам, присутствующим в корзине, а затем применить приведенные выше правила. Если вы хотите расширить свои знания PHP в WooCommerce, вот еще одна статья о том, как получить дополнительную информацию из объекта $cart.
// Получить объект $product из объекта корзины $cart = WC()->cart->get_cart(); foreach($cart as $cart_item_key => $cart_item){ $product = $cart_item['данные']; // Теперь у вас есть доступ к (см. выше)... $продукт->get_type(); $продукт->get_name(); // так далее. // так далее. }
Также читайте – Как получить дополнительную информацию из объекта $cart.
У вас есть доступ к объекту $post
В некоторых случаях (например, на стороне администратора WordPress или в бэкенде) вы можете получить доступ только к $post. Итак, как нам «вычислить» $product из $post? Очень просто:
// Получить объект $product из объекта $post $продукт = wc_get_product($post); // Теперь у вас есть доступ к (см. выше)... $продукт->get_type(); $продукт->get_name(); // так далее. // так далее.
Как получить весь товар/запас в одном месте?
Что, если вам нужна вся информация о вашем продукте, наличии, цене, дополнительной информации, артикуле… тонны информации в одном месте?
Не только просматривать, но и редактировать детали по мере необходимости, и это тоже массово?
Smart Manager делает это возможным для вас. Он показывает все данные о ваших продуктах на аккуратной панели инструментов.
Рекомендуемые изображения, обычная цена, цена со скидкой, дополнительная информация, SKU, категории, атрибуты… все легко доступно в электронной таблице, похожей на Excel. Управляйте, редактируйте продукты прямо с помощью электронной таблицы. Часы задач в течение минут или секунд.
Простые продукты, вариативные продукты и вариации, партнерские продукты … работает для всех.
Как лучше управлять запасами/запасами с помощью Smart Manager?
- Добавляйте любое количество новых товаров в свою базу данных.
- Включите или отключите «Управление запасами» для каждого продукта.
- Управляйте, редактируйте SKU, состояние запасов, обычную цену, цену продажи для каждого.
- Изменить описание продукта, налоговый статус.
- Добавьте налоговый статус, налоговый класс, класс доставки, изображения функций, миниатюры продуктов для каждого продукта. Добавляйте атрибуты, редактируйте категории и статус продукта.
- Увеличьте или уменьшите цену продажи на X% или сумму обычной цены для всех или выбранных акций
- Массовое редактирование состояния запасов, запасов и т. д.
- Установите цену продажи на основе обычной цены продукта, используя массовое редактирование.
- Выполняйте такие операции, как добавление, добавление, увеличение, уменьшение, установка, копирование и т. д. с помощью массового редактирования.
- Добавляйте атрибуты сразу к сотням продуктов, используя массовое редактирование
- Обновление запасов в режиме реального времени — количество запасов обновляется автоматически при совершении продажи.
- Управление отложенными заказами
- Отфильтруйте запасы по состоянию запасов, SKU, цене и т. д. Примените ИЛИ, И или комбинацию обоих условий, чтобы получить желаемые результаты среди тысяч товаров.
- Получите предопределенные пользовательские представления. Просматривайте только необходимые столбцы данных, связанные с запасами, и скрывайте все остальные столбцы, чтобы сосредоточиться только на показателях, связанных с запасами или запасами. Также сортируйте товары по наименованию, артикулу, цене и т. д. перед экспортом.
- Экспортируйте в формате CSV только те биржевые данные, которые вам нужны. Нравится название и количество на складе. Это позволит людям в вашем магазине или на складе знать, какой продукт нуждается в быстром пополнении, запасы какого товара медленно пополняются и т. д.
- Удаляйте отдельные акции, используя фильтры и массовое редактирование. Узнайте больше о том, как безопасно удалить все продукты.
- Управление биржевыми полями, добавленными пользовательскими плагинами
Smart Manager совместим с этими лучшими плагинами WooCommerce — подписками WooCommerce, бронированием, членством, дополнениями к продуктам, стоимостью товаров.
Вы можете легко управлять всеми полями запасов и продуктов, добавленными этими плагинами.
С такой легкостью, разве вы не чувствуете, что Smart Manager — лучший плагин для управления запасами WooCommerce?
Попробуйте живую демоверсию Smart Manager
Вывод
Если вы любите программировать, хорошо разбираетесь в хуках и фильтрах, вы можете использовать подход кодирования, чтобы получать информацию о продукте по мере необходимости.
просматривать и управлять сотнями и тысячами продуктов из одного места; быстро выполнять массовое редактирование, экспорт, удаление, дублирование и другие операции с магазином, используя плагин Smart Manager. Вы не пожалеете о своей покупке.