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

Опубликовано: 06.09.2018

В 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 и если цена не задана ручками.

Ссылки

Кобзарёв Михаил 14 Цена по умолчанию для товаров в WooCommerce PHP Portal В WooCommerce, по-умолчанию, когда вы добавляете новый товар, его цена остаётся пустой, если её принудительно не вписать и товар автоматически становится бесплатным. https://www.kobzarev.com/wp-content/uploads/2018/03/default-price-products-1-e1520113260367-800x450.jpg
IRC (Internet Relay Chat)
rss