WooCommerce — как получить идентификатор продукта, артикул и цену из объекта $product?

Опубликовано: 2022-09-15
Содержание скрыть
1. Получение информации о продукте из объекта $product через код
1.1. У вас есть доступ к переменной $product
1.2. У вас есть доступ к $product_id
1.3. У вас есть доступ к объекту заказа или идентификатору заказа
1.4. У вас есть доступ к объекту Корзина
1.5. У вас есть доступ к объекту $post
2. Как получить весь товар/запас в одном месте?
2.1. Как лучше управлять запасами/запасами с помощью Smart Manager?
3. Заключение

Как получить идентификатор продукта? Как получить артикул товара? Или как получить цену продукта, акции, цену продажи, обычную цену, класс доставки, налоговый класс, изображения, размеры, атрибуты, категории и многое другое?

Если вы технарь, я сформулирую это так: «Как получить ____, если у меня есть объект/переменная $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. Управляйте, редактируйте продукты прямо с помощью электронной таблицы. Часы задач в течение минут или секунд.

Простые продукты, вариативные продукты и вариации, партнерские продукты … работает для всех.

WooCommerce получает информацию о ценовой категории идентификатора продукта в одном месте

Как лучше управлять запасами/запасами с помощью Smart Manager?

  • Добавляйте любое количество новых товаров в свою базу данных.
  • Включите или отключите «Управление запасами» для каждого продукта.
  • Управляйте, редактируйте SKU, состояние запасов, обычную цену, цену продажи для каждого.
  • Изменить описание продукта, налоговый статус.
  • Добавьте налоговый статус, налоговый класс, класс доставки, изображения функций, миниатюры продуктов для каждого продукта. Добавляйте атрибуты, редактируйте категории и статус продукта.
  • Увеличьте или уменьшите цену продажи на X% или сумму обычной цены для всех или выбранных акций
  • Массовое редактирование состояния запасов, запасов и т. д.
  • Установите цену продажи на основе обычной цены продукта, используя массовое редактирование.
  • Выполняйте такие операции, как добавление, добавление, увеличение, уменьшение, установка, копирование и т. д. с помощью массового редактирования.
  • Добавляйте атрибуты сразу к сотням продуктов, используя массовое редактирование
  • Обновление запасов в режиме реального времени — количество запасов обновляется автоматически при совершении продажи.
  • Управление отложенными заказами
  • Отфильтруйте запасы по состоянию запасов, SKU, цене и т. д. Примените ИЛИ, И или комбинацию обоих условий, чтобы получить желаемые результаты среди тысяч товаров.
  • Получите предопределенные пользовательские представления. Просматривайте только необходимые столбцы данных, связанные с запасами, и скрывайте все остальные столбцы, чтобы сосредоточиться только на показателях, связанных с запасами или запасами. Также сортируйте товары по наименованию, артикулу, цене и т. д. перед экспортом.
  • Экспортируйте в формате CSV только те биржевые данные, которые вам нужны. Нравится название и количество на складе. Это позволит людям в вашем магазине или на складе знать, какой продукт нуждается в быстром пополнении, запасы какого товара медленно пополняются и т. д.
  • Удаляйте отдельные акции, используя фильтры и массовое редактирование. Узнайте больше о том, как безопасно удалить все продукты.
  • Управление биржевыми полями, добавленными пользовательскими плагинами

Smart Manager совместим с этими лучшими плагинами WooCommerce — подписками WooCommerce, бронированием, членством, дополнениями к продуктам, стоимостью товаров.

Вы можете легко управлять всеми полями запасов и продуктов, добавленными этими плагинами.

С такой легкостью, разве вы не чувствуете, что Smart Manager — лучший плагин для управления запасами WooCommerce?

Попробуйте живую демоверсию Smart Manager

Вывод

Если вы любите программировать, хорошо разбираетесь в хуках и фильтрах, вы можете использовать подход кодирования, чтобы получать информацию о продукте по мере необходимости.

просматривать и управлять сотнями и тысячами продуктов из одного места; быстро выполнять массовое редактирование, экспорт, удаление, дублирование и другие операции с магазином, используя плагин Smart Manager. Вы не пожалеете о своей покупке.