Единицы измерения м2/шт
-
Всем привет. На сайте отвалились единицы измерения товара, раньше была возможность выбирать м2 или шт. Перед этим было обновление шаблона, однако единицы измерения прописаны в дочерней теме. На данном этапе в админке селект установлен для выбора, код пытались поменять, но что то не работает. Теперь если открыть любой товар, и просто ничего не меняя нажать сохранить, то на сайте он становится в ШТ а не М2 как был. То есть штуки теперь как то по умолчанию. Думаю не работает этот код. проблема в какой то строчке, но так как я в php слаба то заставить работать код сама не могу. Друзья, помогите пожалуйста правильно написать кусочек заставляющий работать селект и сохранять в м2 или в шт.
<?php add_action( 'woocommerce_product_options_general_product_data', 'woocommerce_product_custom_fields' ); function woocommerce_product_custom_fields () { global $woocommerce, $post; echo '<div class="options_group">'; // Add Select field in woocommerce woocommerce_wp_select( array( 'id' => 'unit_price', 'label' => __( 'Единица измерения', 'productunit' ), 'options' => array( '/м²' => __( '/м²', 'productunit' ), 'шт' => __( 'шт', 'productunit' ), 'пачка' => __( 'пачка', 'productunit' ) ) ) ); echo '</div>'; } // Add custom Theme Functions here add_filter( 'woocommerce_product_tabs', 'wcs_woo_remove_reviews_tab', 98 ); function wcs_woo_remove_reviews_tab($tabs) { unset($tabs['reviews']); return $tabs; } function cw_change_product_price_display( $price ) { $price .= '/м²'; return $price; } add_filter( 'woocommerce_get_price_html', 'cw_change_product_price_display' ); add_filter( 'woocommerce_get_price_html', 'cw_change_product_html', 10, 2 ); add_filter( 'woocommerce_cart_item_price', 'cw_change_product_price_display' ); add_filter( 'woocommerce_cart_item_price', 'cw_change_product_price_cart', 10, 3 ); function cw_change_product_html( $price_html, $product ) { $unit_price = get_post_meta( $product->id, 'unit_price', true ); if ( ! empty( $unit_price ) ) { $price_html = '<span class="amount">' . wc_price( $product->price ) . '/шт.</span>'; //$price_html = '<span class="amount">' . wc_price( $unit_price ) . '/шт.</span>'; } return $price_html; } // Change the cart prices if a unit_price is set function cw_change_product_price_cart( $price, $cart_item, $cart_item_key ) { $unit_price = get_post_meta( $cart_item['product_id'], 'unit_price', true ); if ( ! empty( $unit_price ) ) { $price = wc_price( $product->price ) . ' per kg'; //$price = wc_price( $unit_price ) . ' per kg'; } return $price; } add_filter( 'woocommerce_subcategory_count_html', 'woo_remove_category_products_count' ); function woo_remove_category_products_count() { return; } add_filter( 'wc_product_sku_enabled', '__return_true' ); add_filter( 'woocommerce_product_tabs', 'woo_remove_product_tabs', 98 ); function woo_remove_product_tabs( $tabs ) { unset( $tabs['description'] ); unset( $tabs['reviews'] ); unset( $tabs['additional_information'] ); return $tabs; } add_image_size( 'tcat', 600, 400, true ); function is_subcategory() { $cat = get_query_var( 'product_cat' ); $category = get_term_by( 'slug', $cat, 'product_cat' ); return ( $category->parent !== 0 ); } remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); add_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 10); add_action( 'woocommerce_product_options_shipping_product_data', 'woo_add_custom_general_fields' ); add_action( 'woocommerce_process_product_meta', 'woo_add_custom_general_fields_save' ); function woo_add_custom_general_fields() { global $woocommerce, $post; echo '<div class="options_group">'; // Add Select field in woocommerce woocommerce_wp_select( array( 'id' => '_select', 'label' => __( 'Единица измерения', 'productunit' ), 'options' => array( 'шт' => __( 'шт', 'productunit' ), 'пачка' => __( 'пачка', 'productunit' ), 'кв.м' => __( 'кв.м', 'productunit' ) ) ) ); echo '</div>'; } function woo_add_custom_general_fields_save( $post_id ){ // Select $woocommerce_select = $_POST['_select']; if( !empty( $woocommerce_select ) ) update_post_meta( $post_id, '_select', esc_attr( $woocommerce_select ) ); // Unit $woocommerce_productunit = $_POST['unit_price']; if( !empty( $woocommerce_productunit ) ) update_post_meta( $post_id, 'unit_price', esc_attr( $woocommerce_productunit ) ); } ?>
картинка как в админке единицы измерения сейчас, а по ссылке что он показывает на сайте
https://i.gyazo.com/1f7e0eea71d0e768b4c0e63294ca9920.png- Тема изменена 5 лет, 3 месяца назад пользователем .
- Тема изменена 5 лет, 3 месяца назад пользователем . Причина: для оформления кода есть кнопочка code
- Тема изменена 5 лет, 3 месяца назад пользователем .
Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]
- Тема «Единицы измерения м2/шт» закрыта для новых ответов.