您可以使用 woocommerce_variation_options 操作挂钩,将自定义复选框添加到 WooCommerce 产品变体选项。
(复制自:views/html-variation-admin.php,第 188 行)
<?php do_action( 'woocommerce_variation_options', $loop, $variation_data, $variation ); ?>
所以你得到:
// Add checkbox
function action_woocommerce_variation_options( $loop, $variation_data, $variation ) {
$is_checked = get_post_meta( $variation->ID, '_mycheckbox', true );
if ( $is_checked == 'yes' ) {
$is_checked = 'checked';
} else {
$is_checked = '';
}
?>
<label class="tips" data-tip="<?php esc_attr_e( 'This is my data tip', 'woocommerce' ); ?>">
<?php esc_html_e( 'Checkbox:', 'woocommerce' ); ?>
<input type="checkbox" class="checkbox variable_checkbox" name="_mycheckbox[<?php echo esc_attr( $loop ); ?>]"<?php echo $is_checked; ?>/>
</label>
<?php
}
add_action( 'woocommerce_variation_options', 'action_woocommerce_variation_options', 10, 3);
// Save checkbox
function action_woocommerce_save_product_variation( $variation_id, $i ) {
if ( ! empty( $_POST['_mycheckbox'] ) && ! empty( $_POST['_mycheckbox'][$i] ) ) {
update_post_meta( $variation_id, '_mycheckbox', 'yes' );
} else {
update_post_meta( $variation_id, '_mycheckbox', 'no' );
}
}
add_action( 'woocommerce_save_product_variation', 'action_woocommerce_save_product_variation', 10, 2 );