Описание woocommerce_product_duplicate_before_save
— Action
Хук woocommerce_product_duplicate_before_save позволяет выполнять действия перед сохранением дублированного товара в WooCommerce. Он срабатывает в момент, когда создается копия товара, и дает возможность изменить данные самого товара или его метаданные перед тем, как они будут сохранены в базе данных
Примеры использования
Изменение названия дублированного товара:
add_action('woocommerce_product_duplicate_before_save', function($product) {
$product->set_name($product->get_name() . ' - Копия');
});
В этом примере мы добавляем к названию дублированного товара суффикс ‘ — Копия’
Сброс цены на дублированный товар:
add_action('woocommerce_product_duplicate_before_save', function($product) {
$product->set_regular_price(0);
$product->set_sale_price(0);
});
В данном примере мы устанавливаем цену дублированного товара в 0
Копирование метаданных из оригинального товара:
add_action('woocommerce_product_duplicate_before_save', function($product) {
$original_id = $_REQUEST['post_id'];
$original_product = wc_get_product($original_id);
$product->update_meta_data('custom_meta_key', $original_product->get_meta('custom_meta_key'));
});
Здесь мы копируем пользовательское метаданные из оригинального товара
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменять или добавлять данные к дублируемым товарам перед их сохранением
– Производительность
Хук не должен значительно влиять на производительность, так как изменения происходят только для одного товара в момент его дублирования
– Предупреждения
Будьте осторожны с изменениями, чтобы не нарушить целостность данных товаров
Альтернативы
Тип: action
Этот хук срабатывает после дублирования товара и может быть использован для выполнения действий с уже созданным дублированным товаром
Используйте его, если нужно выполнить дополнительные действия после завершения процесса дублирования