Время для прочтения: 1 мин. 9 сек.

Цена по умолчанию для товаров в WooCommerce

В WooCommerce, по-умолчанию, когда вы добавляете новый товар, его цена остаётся пустой, если её принудительно не вписать и товар автоматически становится бесплатным.

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

Как это сделать в WooCommerce

Конечно же, при помощи небольшого сниппета. Откройте файл functions.php в вашем любимом ванильном редакторе для написания кода внутри активной темы и добавьте в конце:

/**
 * Задание дефолтной цены для товара в 10 руб.,
 * если она не указана вручную
 *
 * @param int    $post_id идентификатор товара
 * @param object $post    объект поста
 */
function mihdan_product_default_price( $post_id, $post ) {
	$product     = wc_get_product( $post_id );
	$already_set = get_post_meta( $post_id, '_set_default_price', true );
	$price       = $product->get_price();

	if ( 'yes' !== $already_set && empty( $price ) ) {
		$product->set_regular_price( '10' );
		$product->save();

		update_post_meta( $post_id, '_set_default_price', 'yes' );
	}
}
add_action( 'woocommerce_process_product_meta', 'mihdan_product_default_price', 999, 2 );

Этот скрипт установить цену на продукт в 10 руб. единожды, если товар не имеет мета-поля _set_default_price=yes и если цена не задана ручками.

Ссылки

Пошерить
Запинить
Отправить
Вотсап

Смотрите также

Следующая запись

Комментарии