elmurza
Ответы в темах
Просмотр 1 ответа (всего 1)
-
Так, удалось сделать как смог, осталось только сделать чтобы они автоматически рассчитывались при сумме в корзине
/* Выводим поле аренды при создании товара */ add_action( 'woocommerce_product_options_general_product_data', 'art_woo_add_custom_fields' ); function art_woo_add_custom_fields() { global $product, $post; echo '<div class="options_group">'; woocommerce_wp_text_input( array( 'id' => '_text_field', 'label' => __( 'Мелкий опт (₽)', 'woocommerce' ), 'placeholder' => 'Мелкооптовая цена', 'desc_tip' => 'true', 'custom_attributes' => array( 'required' => 'required' ), 'description' => __( 'Мелкооптовая цена', 'woocommerce' ), ) ); woocommerce_wp_text_input( array( 'id' => '_opt', 'label' => __( 'Опт (₽)', 'woocommerce' ), 'placeholder' => 'Оптовая цена', 'desc_tip' => 'true', 'custom_attributes' => array( 'required' => 'required' ), 'description' => __( 'Оптовая цена', 'woocommerce' ), ) ); echo '</div>'; } /* Сохраняем значение аренды в базе данных */ add_action( 'woocommerce_process_product_meta', 'art_woo_custom_fields_save', 10 ); function art_woo_custom_fields_save( $post_id ) { $woocommerce_text_field = $_POST['_text_field']; if ( $woocommerce_text_field ) { update_post_meta( $post_id, '_text_field', esc_attr( $woocommerce_text_field ) ); } $woocommerce_opt = $_POST['_opt']; if ( $woocommerce_opt ) { update_post_meta( $post_id, '_opt', esc_attr( $woocommerce_opt ) ); } } /* Выводим аренду в карточке товара */ add_action( 'woocommerce_single_product_summary', 'art_get_text_field_before_add_card', 'art_get_opt_before_add_card'); function art_get_text_field_before_add_card() { global $post, $product; $text_field = get_post_meta( $post->ID, '_text_field' , true ); if ( $text_field ) { ?> <span class="text-field"> <strong>Мелкий опт:<br> </strong> <?php echo $text_field;?> ₽ <p> от 30 000 ₽</p> </span> <?php } } add_action( 'woocommerce_single_product_summary', 'art_get_opt_before_add_card'); function art_get_opt_before_add_card() { global $post, $product; $opt = get_post_meta( $post->ID, '_opt' , true ); if ( $opt ) { ?> <span class="text-field"> <strong>опт:<br> </strong> <?php echo $opt;?> ₽ <p> от 50 000 ₽</p> </span> <?php } } function filter_woocommerce_get_price_html( $price, $_this ) { $text_field = get_post_meta( $post->ID, '_text_field'. '_opt', true ); ob_start(); if ( $text_field ) { ?> <span class="text-field"> <strong>Розница: </strong> <?php echo $text_field; ?> <p> от 1 товара </p> </span> <?php } $text = ob_get_clean(); return '<a style="color:red;">Розница: '. $price . ' </a> ' . $text; } add_filter( 'woocommerce_get_price_html', 'filter_woocommerce_get_price_html', 10, 2 );
Просмотр 1 ответа (всего 1)