Добавить новое поле на Странице оформления заказа WooCommerce | Без плагина

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ม.ค. 2025
  • В этом видео я покажу Вам как добавить новое кастомное поле на Странице оформления заказа [checkout] в WooCommerce | Без использования плагина.
    P.S Код который я добавил ниже добавился без угловых скобок, они были заменены на другие символы - [ ]. Так как эти скобки запрещено добавлять в описание к видео. Сверте код в описании с кодом в самом видео. Спасибо за понимание !!!
    ===============================
    Код который нужно вставить в "functions.php":
    /**
    Добавляем новое поле на страницу checkout
    */
    add_action( 'woocommerce_after_order_notes', 'my_custom_checkout_field' );
    function my_custom_checkout_field( $checkout ) {
    echo '[div id="my_custom_checkout_field"][h2]' . __('Новое поле') . '[/h2]';
    woocommerce_form_field( 'my_field_name', array(
    'type' =] 'text',
    'class' =] array('my-field-class form-row-wide'),
    'label' =] __('Заполните это поле'),
    'placeholder' =〉 __('Введите что-нибудь'),
    ), $checkout-]get_value( 'my_field_name' ));
    echo '[/div]';
    }
    /**
    Обработка оформления заказа
    */
    add_action('woocommerce_checkout_process', 'my_custom_checkout_field_process');
    function my_custom_checkout_field_process() {
    // Check if set, if its not set add an error.
    if ( ! $_POST['my_field_name'] )
    wc_add_notice( __( 'Пожалуйста, введите что-нибудь в это новое поле.' ), 'error' );
    }
    /**
    Обновите мета-заказ, указав значение поля.
    */
    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_field_name'] ) ) {
    update_post_meta( $order_id, 'Мое поле', sanitize_text_field( $_POST['my_field_name'] ) );
    }
    }
    /**
    Отображение значения поля на странице редактирования заказа
    */
    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){
    echo '[p][strong]'.__('Мое поле').':[/strong] ' . get_post_meta( $order-] id, 'Мое поле', true ) . '[/p]';
    }
    ===============================
    Эти плейлисты могут быть Вам полезны:
    Уроки WordPress :
    • WordPress
    • WooCommerce
    ===============================
    По вопросам сотрудничества:
    Instagram: / weblider96
    Телефон: +380977607275
    Всем спасибо !
    Автор: Ягодин Николай

ความคิดเห็น • 5

  • @Web-Lider
    @Web-Lider  ปีที่แล้ว +2

    Удалось ли Вам Добавить новое кастомное поле на страницу оформления заказа в WooCommerce ?

  • @MegaVolt-iy3hl
    @MegaVolt-iy3hl ปีที่แล้ว +1

    Спасибо, то что нужно))

    • @Web-Lider
      @Web-Lider  ปีที่แล้ว

      Спасибо.

  • @nataliturianska4973
    @nataliturianska4973 ปีที่แล้ว +1

    Благодарю. Подскажите, пожалуйста, хочу добавить кастомное поле в метод доставки, чтобы оно открывалось только тогда, когда пользователь выбирает метод доставки радио кнопкой. Куда именно вставить этот код, понимаю, что хук другой

    • @Web-Lider
      @Web-Lider  ปีที่แล้ว

      Спасибо за вопрос. Для решения вашей задачи нужно сделать немного по другому. Напишите мне под видео есть контакты. Спасибо