Как добавить единицы к цене товара
Чтобы добавить возможность выводить единицу цены, например, 15 руб. м2
, нужно добавить такой код в файл functions.php дочерней темы
add_action( 'woocommerce_product_options_general_product_data', function () {
global $product_object;
/** @var WC_Product $product_object */
woocommerce_wp_text_input( [
'id' => 'custom_unit',
'label' => __( 'Price Unit', THEME_TEXTDOMAIN ),
'value' => $product_object->get_meta( 'custom_unit' ),
] );
} );
add_action( 'woocommerce_process_product_meta', function ( $post_id ) {
$product = wc_get_product( $post_id );
$data = isset( $_POST['custom_unit'] ) ? $_POST['custom_unit'] : '';
$data = wp_unslash( $data );
$product->update_meta_data( 'custom_unit', $data );
$product->save();
} );
add_filter( 'woocommerce_get_price_html', function ( $html ) {
global $product;
if ( $unit = $product->get_meta( 'custom_unit' ) ) {
$html .= '<span class="unit">' . $unit . '</span>';
}
return $html;
} );
После этого во вкладке с ценами на странице редактирования товара появится дополнительное поле, в котором можно задать единицы, и, например, м2
можно указать добавив м<sup>2</sup>
Вам помог ответ?