Ответы пользователя по тегу WooСommerce
  • Как сделать разные способы оплаты на разные товары в Woocommerce?

    @zeaovede Автор вопроса
    Если кому-то еще нужно будет, то с данной задачей отлично позволяет справиться плагин Woocommerce Payment Gateway per Product
    Ответ написан
    Комментировать
  • Как осуществить редирект woocommerce с order-pay?

    @zeaovede Автор вопроса
    Кое-что нагуглил и это даже работает
    setTimeout(function(){
      $('button').trigger('click');
    }, 1000);
    Ответ написан
    Комментировать
  • Как изменить сообщение об ошибке на странице .../checkout/?

    @zeaovede Автор вопроса
    Искать пришлось долго. Мало ли кому-то пригодится
    /** Replace 'An account is already registered with your email address. Please log in.' **/
    add_filter( 'woocommerce_registration_error_email_exists', function() {
        return 'Este înregistrat deja un cont cu adresa ta de e-mail. <a href="#" class="showlogin">Te rugăm să te autentifici.</a>';
    } );
    Ответ написан
    Комментировать
  • Как изменить header.php для магазина woocommerce?

    @zeaovede
    Решение, которое было предложено тут с созданием header-shop.php в корне темы у меня не сработало. Но я нашел кое-что лучше. В корне темы находим файл page.php, и там вместо дефолтного header вывести следующий код:

    if ( class_exists( 'WooCommerce' ) && is_account_page() ) {
        get_header('shop');
    } else {
        // текущий код header.php
    }

    В моем примере нужный мне header будет выводиться на странице мой аккаунт, в любом другом месте будет выводиться дефолтный. Проверено.
    Очень важно, выводить именно в page.php, иначе, если это сделать просто через header в корне темы, то будет выводиться сразу два хеадера. В том месте где нашел ответ рекомендовано было выводить через header, но у меня сработало только через page.php. Поэтому, можете проверять.
    Ответ написан
    Комментировать
  • Как автоматически измененить статус заказа в Woocommerce?

    @zeaovede
    Рабочее решение найденное в очке интернета. Публикую для себя, чтобы не потерять, но возможно кому-то пригодится.
    add_filter( 'woocommerce_thankyou', 'update_order_status', 10, 1 );
    
    function update_order_status( $order_id ) {
      if ( !$order_id ){
        return;
      }
      $order = new WC_Order( $order_id );
      if ( 'on-hold' == $order->status) {
        $order->update_status( 'pending payment' );
      }
      return;
    }
    Ответ написан
    Комментировать
  • Как убрать поле Фамилия в ЛК Woocommerce?

    @zeaovede
    1. Через функшенс нужно сделать поля необязательными
    add_filter('woocommerce_save_account_details_required_fields', 'remove_required_fields');
    
    function remove_required_fields( $required_fields ) {
        unset($required_fields['account_first_name']);
        unset($required_fields['account_last_name']);
    
        return $required_fields;
    }

    Готово.
    2. Стилями отключить поля
    Ответ написан
    Комментировать