Я добавил дополнительный вариант к своим продуктам со следующим кодом:
add_action('woocommerce_variation_options', 'he_add_to_variation_option', 10, 3);
function he_add_to_variation_option( $loop, $variation_data, $variation){
$is_trial = (get_post_meta($variation->ID, '_trialversion', true)) ? ' checked' : '';
?>
<label class="tips" data-tip="<?php esc_attr_e( 'Enable this option to make as a trial version', 'woocommerce' ); ?>">
<?php esc_html_e( 'Trial Version?', 'woocommerce' ); ?>
<input type="checkbox" class="checkbox variable_is_trial_version" name="_trialversion[<?php echo esc_attr( $variation->ID ); ?>]"<?php echo $is_trial;?>/>
</label>
<?php
}
add_action( 'woocommerce_save_product_variation', 'save_trialversion_option_fields' );
function save_trialversion_option_fields( $post_id ) {
if ( isset( $_POST['_trialversion'] ) ){
foreach ( $_POST['_trialversion'] as $productid=>$checked ){
update_post_meta( $productid, '_trialversion', 'yes' );
}
}
}
Это прекрасно работает, отображается в вариантах и правильно сохраняется в базе данных.
Пока все хорошо.
Теперь я хотел бы добавить дополнительный флажок при оформлении заказа, если продукт помечен как "пробная версия". Я также использую плагин «Germanized», в котором есть опции для пользовательских флажков, но я не могу распознать изменения, которые я внес в приведенный выше код.
Как бы я это сделал sh пользовательский флажок для моих вариантов пробной версии? С или без германизации, на данный момент я просто хочу заставить его работать. Может быть, есть бесплатный плагин, но если я могу просто сделать это, добавив некоторый код, это, вероятно, будет проще.
Флажок должен быть обязательным для завершения покупки пробной версии.
Надеюсь, у кого-то есть идея, как это сделать. Ждем ваших ответов!