Проверьте адрес электронной почты пользователя, прежде чем нажать кнопку «Заказать заказ» в WooCommerce - PullRequest
0 голосов
/ 10 января 2019

У нас есть специальный продукт в нашем магазине WooCommerce, и мы хотим, чтобы он покупался только один раз на адрес электронной почты. Обратите внимание, что Клиент НЕ вошел в систему . Есть ли способ проверить адрес электронной почты, который пользователь вводит на странице оформления заказа до размещения заказа, и показать сообщение о том, что он уже приобрел продукт с этим адресом электронной почты, и отключить кнопку «Разместить заказ». Если клиент меняет адрес электронной почты, он может продолжить покупку, если он ранее никогда не использовался для покупки этого продукта.

1 Ответ

0 голосов
/ 10 января 2019

Я только что нашел эту ссылку здесь. https://www.skyverge.com/blog/prevent-repeat-purchase-with-woocommerce/

Предлагается использовать функцию wc_customer_bought_product для проверки адреса электронной почты пользователя, чтобы узнать, ранее ли он приобрел продукт.

 // return false if the customer has bought the product
    if ( wc_customer_bought_product( wp_get_current_user()->user_email, get_current_user_id(), $product_id ) ) {
        $purchasable = false;
    }

Требуется, чтобы пользователь вошел в систему, но нет причины, по которой вы не могли использовать ajax на кассе и проверить поле формы электронной почты (вместо wp_get_current_user () -> user_email ) с этим функции, а затем, если вы получите верный ответ, вы можете заменить кнопку отправки из формы проверки на сообщение об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...