Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Создание произвольного поля WC в вариациях товара
- add_action( 'woocommerce_product_after_variable_attributes', 'num_cubicmeters_fields', 10, 3 );
- function num_cubicmeters_fields( $loop, $variation_data, $variation ) {
- woocommerce_wp_text_input( array(
- 'id' => '_num_cubic_var[' . $variation->ID . ']', // id поля
- 'label' => 'Количество кубометров', // Надпись над полем
- 'description' => 'Укажи количество кубометров',// Описание поля
- 'desc_tip' => 'true', // Всплывающая подсказка
- 'placeholder' => 'Количество кубометров, м3', // Надпись внутри поля
- 'type' => 'number', // Тип поля
- 'custom_attributes' => array( // Произвольные аттрибуты
- 'step' => 'any', // Шаг значений
- 'min' => '0', // Минимальное значение
- ),
- 'value' => get_post_meta( $variation->ID, '_num_cubic_var', true ),
- ) );
- }
- add_action( 'woocommerce_save_product_variation', 'art_save_variation_settings_fields', 10, 2 );
- function art_save_variation_settings_fields( $post_id ) {
- $woocommerce__num_cubic_var = $_POST['_num_cubic_var'][ $post_id ];
- if (isset($woocommerce__num_cubic_var) && ! empty( $woocommerce__num_cubic_var ) ) {
- update_post_meta( $post_id, '_num_cubic_var', esc_attr( $woocommerce__num_cubic_var ) );
- }
- }
- add_filter( 'woocommerce_available_variation', 'load_variation_settings_fields' );
- function load_variation_settings_fields( $variations ) {
- $variations_num_cubic = get_post_meta( $variations['variation_id'], '_num_cubic_var', true );
- if ( isset( $variations_num_cubic ) && ! empty( $variations_num_cubic ) ) {
- $variations['_num_cubic_var'] = '<div class="num-cubicmeters-prod">';
- $variations['_num_cubic_var'] .= '<span>Количество Кубометров</span>';
- $variations['_num_cubic_var'] .= get_post_meta( $variations['variation_id'], '_num_cubic_var', true ) . ' м3';
- $variations['_num_cubic_var'] .= '</div>';
- }
- return $variations;
- }
Add Comment
Please, Sign In to add comment