Woocommerce вариативный товар добавить поле
09.08.2015
Добавляем следующий код в functions.php
<?php
add_action( 'woocommerce_product_after_variable_attributes', 'add_to_variations_metabox', 10, 3 );
add_action( 'woocommerce_save_product_variation', 'save_product_variation', 20, 2 );
/*
* Добавляем новое поле к каждому варианту
*
* @param string $loop
* @param array $variation_data
* @return print HTML
*/
function add_to_variations_metabox( $loop, $variation_data, $variation ){
$custom = get_post_meta( $variation->ID, '_example', true ); ?>
<div class="variable_custom_field">
<p class="form-row form-row-first">
<label><?php echo __( 'Цвет:', 'plugin_textdomain' ); ?></label>
<input id="example" type="text" size="5" name="variation_example_data[<?php echo $loop; ?>]" value="<?php echo esc_attr( $custom ); ?>" placeholder="Field" />
</p>
</div>
<?php
}
/*
* Сохраняем поля
*
* @param int $variation_id
* @param int $i
* return void
*/
function save_product_variation( $variation_id, $i ){
// save custom data
if ( isset( $_POST['variation_example_data'][$i] ) ) {
// sanitize data in way that makes sense for your data type
$custom_data = ( trim( $_POST['variation_example_data'][$i] ) === '' ) ? '' : sanitize_title( $_POST['variation_example_data'][$i] );
update_post_meta( $variation_id, '_example', $custom_data );
}
}
#WordPress
