ID ); $product = ( ! empty( $post->ID ) && function_exists( 'wc_get_product' ) ) ? wc_get_product( $post->ID ) : null; $is_callable_product_get_meta = $this->is_callable( $product, 'get_meta' ); $is_send_coupons_on_renewals = ( true === $is_callable_product_get_meta ) ? $product->get_meta( 'send_coupons_on_renewals' ) : get_post_meta( $post->ID, 'send_coupons_on_renewals', true ); echo '
'; $all_discount_types = wc_get_coupon_types(); ?>

product_options_admin_js(); ?> '; } /** * Coupon fields for variation * * @param int $loop Position in the loop. * @param array $variation_data Variation data. * @param WP_Post $variation Post data. */ public function woocommerce_product_options_coupons_variable( $loop = 0, $variation_data = array(), $variation = null ) { $variation_id = $variation->ID; $all_discount_types = wc_get_coupon_types(); $product = ( ! empty( $variation_id ) && function_exists( 'wc_get_product' ) ) ? wc_get_product( $variation_id ) : null; $is_callable_product_get_meta = $this->is_callable( $product, 'get_meta' ); $is_send_coupons_on_renewals = ( true === $is_callable_product_get_meta ) ? $product->get_meta( 'send_coupons_on_renewals' ) : get_post_meta( $variation_id, 'send_coupons_on_renewals', true ); ?>

product_options_admin_js(); ?>
is_callable( $product, 'update_meta_data' ); if ( ! empty( $post_coupon_title ) ) { if ( $this->is_wc_gte_30() ) { $coupon_titles = $post_coupon_title; } else { $coupon_titles = array_filter( array_map( 'trim', explode( ',', $post_coupon_title ) ) ); } if ( true === $is_callable_product_update_meta ) { $product->update_meta_data( '_coupon_title', $coupon_titles ); } else { update_post_meta( $post_id, '_coupon_title', $coupon_titles ); } } else { if ( true === $is_callable_product_update_meta ) { $product->update_meta_data( '_coupon_title', array() ); } else { update_post_meta( $post_id, '_coupon_title', array() ); } } if ( isset( $_POST['send_coupons_on_renewals'][ $post_id ] ) ) { // phpcs:ignore if ( true === $is_callable_product_update_meta ) { $product->update_meta_data( 'send_coupons_on_renewals', wc_clean( wp_unslash( $_POST['send_coupons_on_renewals'][ $post_id ] ) ) ); // phpcs:ignore } else { update_post_meta( $post_id, 'send_coupons_on_renewals', wc_clean( wp_unslash( $_POST['send_coupons_on_renewals'][ $post_id ] ) ) ); // phpcs:ignore } } else { if ( true === $is_callable_product_update_meta ) { $product->update_meta_data( 'send_coupons_on_renewals', 'no' ); } else { update_post_meta( $post_id, 'send_coupons_on_renewals', 'no' ); } } if ( $this->is_callable( $product, 'save' ) ) { $product->save(); } } /** * Function for saving coupon details in product meta * * @param integer $variation_id Variation ID. * @param integer $i Loop ID. */ public function woocommerce_process_product_meta_coupons_variable( $variation_id = 0, $i = 0 ) { if ( empty( $variation_id ) ) { return; } $variation_id = absint( $variation_id ); $variation = ( ! empty( $variation_id ) ) ? wc_get_product( $variation_id ) : null; $is_callable_variation_update_meta = $this->is_callable( $variation, 'update_meta_data' ); $post_coupon_title = ( ! empty( $_POST['_coupon_title'][ $variation_id ][ $i ] ) ) ? wc_clean( wp_unslash( $_POST['_coupon_title'][ $variation_id ][ $i ] ) ) : ''; // phpcs:ignore if ( ! empty( $post_coupon_title ) ) { if ( $this->is_wc_gte_30() ) { $coupon_titles = $post_coupon_title; } else { $coupon_titles = array_filter( array_map( 'trim', explode( ',', $post_coupon_title ) ) ); } if ( true === $is_callable_variation_update_meta ) { $variation->update_meta_data( '_coupon_title', $coupon_titles ); } else { update_post_meta( $variation_id, '_coupon_title', $coupon_titles ); } } else { if ( true === $is_callable_variation_update_meta ) { $variation->update_meta_data( '_coupon_title', array() ); } else { update_post_meta( $variation_id, '_coupon_title', array() ); } } if ( isset( $_POST['send_coupons_on_renewals'][ $variation_id ][ $i ] ) ) { // phpcs:ignore if ( true === $is_callable_variation_update_meta ) { $variation->update_meta_data( 'send_coupons_on_renewals', wc_clean( wp_unslash( $_POST['send_coupons_on_renewals'][ $variation_id ][ $i ] ) ) ); // phpcs:ignore } else { update_post_meta( $variation_id, 'send_coupons_on_renewals', wc_clean( wp_unslash( $_POST['send_coupons_on_renewals'][ $variation_id ][ $i ] ) ) ); // phpcs:ignore } } else { if ( true === $is_callable_variation_update_meta ) { $variation->update_meta_data( 'send_coupons_on_renewals', 'no' ); } else { update_post_meta( $variation_id, 'send_coupons_on_renewals', 'no' ); } } if ( $this->is_callable( $variation, 'save' ) ) { $variation->save(); } } } } WC_SC_Product_Fields::get_instance();