Цена по умолчанию для товаров в 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 и если цена не задана ручками.

Ссылки

Источник: https://www.kobzarev.com/wordpress/woocommerce-default-price-for-products/

Михаил Кобзарёв

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: