Описание woocommerce_product_set_stock_status
— Action
Хук woocommerce_product_set_stock_status позволяет выполнять действия после изменения статуса наличия товара. Он срабатывает при обновлении статуса наличия товара в административной панели или при сохранении товара, обеспечивая возможность выполнения дополнительных действий в ответ на это изменение
Примеры использования
Пример отправки уведомления при изменении статуса наличия товара:
add_action('woocommerce_product_set_stock_status', function($product, $status) {
if ($status === 'outofstock') {
// Отправляем уведомление об отсутствии товара
$product_name = $product->get_name();
wp_mail('admin@example.com', 'Товар отсутствует', 'Товар ' . $product_name . ' сейчас отсутствует в наличии');
}
});
Этот пример отправляет уведомление по электронной почте администратору, если товар стал недоступен
Пример обновления пользовательского поля после изменения статуса наличия:
add_action('woocommerce_product_set_stock_status', function($product, $status) {
$product->update_meta_data('last_stock_status_change', current_time('mysql'));
$product->save();
});
Здесь мы обновляем пользовательское поле с датой изменения статуса наличия товара
Пример логирования изменений статуса наличия:
add_action('woocommerce_product_set_stock_status', function($product, $status) {
$log_entry = sprintf('Товар %s изменил статус на %s в %s', $product->get_name(), $status, current_time('mysql'));
error_log($log_entry);
});
В этом примере мы записываем информацию об изменении статуса товара в лог ошибок
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо реагировать на изменения статуса наличия товара, например, для отправки уведомлений или выполнения других действий
– Производительность
Будьте внимательны к производительности, особенно если выполняете операции, которые могут быть ресурсоемкими, такие как отправка электронной почты
– Предупреждения
Избегайте чрезмерного использования этого хука для действий, которые могут вызвать ненужные нагрузки на сервер
Альтернативы
Тип: action
Этот хук срабатывает после сохранения товара и может использоваться для более общих действий, не касающихся только статуса наличия
Используйте его, если нужно выполнять действия после сохранения товара независимо от изменения статуса наличия