• Как подружиться c SMTP от Яндекса?

    Prosto
    @Prosto
    Сгенерировал одноразовый пароль - не помогло.
    Потом включил в настройках яндекса
    Разрешить доступ к почтовому ящику с помощью почтовых клиентов
    С сервера imap.yandex.ru по протоколу IMAP

    Хотя казалось бы при чем тут smtp
    И всё заработало
    Ответ написан
    7 комментариев
  • Что такое такое rest api?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    API социальных сетей - это вполне типичные примеры реализации REST API.

    REST (RESTful) - это общие принципы организации взаимодействия приложения/сайта с сервером посредством протокола HTTP. Особенность REST в том, что сервер не запоминает состояние пользователя между запросами - в каждом запросе передаётся информация, идентифицирующая пользователя (например, token, полученный через OAuth-авторизацию) и все параметры, необходимые для выполнения операции.

    Всё взаимодействие с сервером сводится к 4 операциям (4 - это необходимый и достаточный минимум, в конкретной реализации типов операций может быть больше):
    1. получение данных с сервера (обычно в формате JSON, или XML)
    2. добавление новых данных на сервер
    3. модификация существующих данных на сервере
    4. удаление данных на сервере

    Операция получения данных не может приводить к изменению состояния сервера.

    Для каждого типа операции используется свой метод HTTP-запроса:
    1. получение - GET
    2. добавление - POST
    3. модификация - PUT
    4. удаление - DELETE

    Т.е. :

    GET-запрос /rest/users - получение информации о всех пользователях
    GET-запрос /rest/users/125 - получение информации о пользователе с id=125
    POST-запрос /rest/users - добавление нового пользователя
    PUT-запрос /rest/users/125 - изменение информации о пользователе с id=125
    DELETE-запрос /rest/users/125 - удаление пользователя с id=125
    Ответ написан
    20 комментариев
  • Почему не проходит заказ на woocommerce, и просит ввести адрес для продолжения?

    @balaknegor
    А вот так это делается руками.
    в functions.php пишем:

    add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
      
    function custom_override_checkout_fields( $fields ) {
      unset($fields['billing']['billing_country']);  //удаляем! тут хранится значение страны оплаты
      unset($fields['shipping']['shipping_country']); ////удаляем! тут хранится значение страны доставки
     
      return $fields;
    }
    Ответ написан
    2 комментария
  • Как выбрать текст между несколькими квадратными скобками с помощью регулярных выражений?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    $subject = "яблоко красное и [зеленое] яблоко и еще [одно] красное яблоко и [еще] одно яблоко, зеленое";
    $pattern = '/\[(.+?)\]/';
    preg_match_all($pattern, substr($subject,3), $matches);
    print_r($matches);

    Во-первых, вам нужно использовать ленивый квантификатор - добавить знак вопроса после ".+". Таким образом поиск будет производится до первого совпадения, а не до последнего.
    Во-вторых, нужно использовать preg_match_all, если вам нужны все совпадения.
    Ответ написан
    4 комментария
  • Как сделать чтоб при выборе формы оплаты, например клиент выбрал paypal, то сумма заказа увеличивалась на 14%?

    kalbac
    @kalbac
    Wordpress Developer Full-Stack
    Автор, данная функция делает подсчёт только в корзине. Для того что бы получить выбранный метод оплаты нужно цепляться к хукам относящиеся к оформлению заказа (т.е. checkout).
    Как вариант можно использовать этот хук woocommerce_after_calculate_totals
    Пример использования такой:

    add_action( 'woocommerce_after_calculate_totals', 'custom_fee_for_paypal' );
    
    function custom_fee_for_paypal( $cart ) {
    //проверяем это страница оформления заказа или нет
     if ( is_checkout() || defined('WOOCOMMERCE_CHECKOUT') ) {
      //получаем выбранный метод оплаты
      $patment_method = WC()->session->get( 'chosen_payment_method' );
      //Если выбранный метод равен paypal то идём дальше
       if( $patment_method == 'paypal' ) {
        $percentage = 0.14;
        //Получаем значение суммы надбавки за пайпел
        $surcharge = ( $cart->cart_contents_total + $cart->shipping_total ) * $percentage;
        //Добавляем надбавку
         $cart->add_fee( 'Комиссия за PayPal ', $surcharge, true, '' );
      }
     }
    }


    Я этот код написал только что "на коленке", так что он не претендует на истину. Если что то не будет работать в этом коде, то подумайте почему.
    Ответ написан
    7 комментариев