הוספת סימון אריזת מתנה ואזור להוראות בצ'קאאוט של ווקומרס
Thu Nov 11 2021 09:35:44 GMT+0000 (Coordinated Universal Time)
Saved by @Shesek
<?php /* --- GIFT WRAP FIELDS CHECKOUT AND ADMIN --- */ /** * Add the fields to the checkout */ add_action( 'woocommerce_after_checkout_billing_form', 'my_custom_checkout_field' ); function my_custom_checkout_field( $checkout ) { echo '<div class="my_gift_wrap_checkout_field"><h2>' . __('Gift wrap', 'woocommerce') .'</h2>'; woocommerce_form_field( 'my_gift_wrap_checkbox', array( 'type' => 'checkbox', 'class' => array('checkbox_field'), 'label' => __('Free gift wrapping? - Yes please!', 'woocommerce'), 'required' => false, ), $checkout->get_value( 'my_gift_wrap_checkbox' )); woocommerce_form_field( 'my_gift_wrap_field', array( 'type' => 'textarea', 'label' => __('Gift wrap instructions', 'woocommerce'), 'placeholder' => _x('Please enter any gift wrapping instructions. For example if you have multiple items in your order but only want 1 wrapped, or a special message to include.', 'placeholder', 'woocommerce'), 'required' => false, 'class' => array('form-row-wide'), 'clear' => true, ), $checkout->get_value( 'my_gift_wrap_field' )); echo '</div>'; } /** * Update the order meta with fields values */ add_action('woocommerce_checkout_update_order_meta', 'my_custom_checkout_field_update_order_meta' ); function my_custom_checkout_field_update_order_meta( $order_id ) { if ( ! empty( $_POST['my_gift_wrap_checkbox'] ) ) { update_post_meta( $order_id, 'my_gift_wrap_checkbox', $_POST['my_gift_wrap_checkbox'] ); } if ( ! empty( $_POST['my_gift_wrap_field'] ) ) { update_post_meta( $order_id, 'my_gift_wrap_field', $_POST['my_gift_wrap_field'] ); } } /** * Display fields on the order edit page */ add_action('woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 ); function my_custom_checkout_field_display_admin_order_meta($order){ if (get_post_meta( $order->id, 'my_gift_wrap_checkbox', true ) == 1){ echo '<p><strong>'.__('Gift wrap', 'woocommerce').': </strong> ' . __('Yes please!', 'woocommerce'). '</p>'; } else { echo '<p><strong>'.__('Gift wrap', 'woocommerce').': </strong> ' . __('No thank you', 'woocommerce'). '</p>'; } echo '<p><strong>'.__('Gift wrap instructions', 'woocommerce').': </strong> ' . get_post_meta( $order->id, 'my_gift_wrap_field', true ) . '</p>'; } /** * Add the fields to order emails and thank you page. **/ add_action( "woocommerce_email_after_order_table", "my_woocommerce_email_after_order_table", 10, 1); /* add same function to run on after orders table for thank you page */ add_action( 'woocommerce_order_details_after_order_table', "my_woocommerce_email_after_order_table", 10, 1 ); function my_woocommerce_email_after_order_table( $order ) { $my_gift_wrap_checkbox = get_post_meta( $order->id, "my_gift_wrap_checkbox", true ); $gift_wrap = $my_gift_wrap_checkbox ? __('Yes please!', 'woocommerce') : __('No thank you.', 'woocommerce'); echo '<p><strong>Gift wrap?: </strong>' . $gift_wrap . '</p>'; if ( $my_gift_wrap_checkbox ) { echo '<p><strong>Gift wrap instructions: </strong>' . get_post_meta( $order->id, "my_gift_wrap_field", true ) . '</p>'; } } ?>
Comments