Гостевая касса создает учетную запись, даже если не запрашивается - PullRequest
2 голосов
/ 15 января 2020

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

Здесь я показываю со скриншотами шаги что я взял.

Неудачные решения

  • Отключение всех плагинов, оставив только Woocommerce и тему Storefront.
  • Включить / Отключить параметр «Разрешить клиенты могут войти в существующую учетную запись во время оформления заказа »в Woocommerce > Settings > Account & Privacy.
  • отмечен этот ответ , но я не продаю продукты по подписке.

Экземпляр info

Другие конфигурации, которые я включил в Woocommerce > Settings > Account & Privacy, следующие:

  • Разрешить клиентам размещать заказы без учетной записи
  • Разрешить клиентам создавать учетные записи во время checkout
  • Разрешить клиентам создавать учетные записи на странице «Моя учетная запись»
  • При создании учетной записи автоматически генерировать имя пользователя учетной записи для cust omer на основе их имени, фамилии или адреса электронной почты
  • При создании учетной записи автоматически сгенерируйте пароль учетной записи

А вот информация, касающаяся производственного экземпляра WordPress (я также проверял то же самое) ошибка в экземпляре WAMP в Windows):

### wp-core ###

version: 5.3.2
site_language: en_US
user_language: en_US
timezone: +01:00
permalink: /%year%/%monthnum%/%day%/%postname%/
https_status: true
user_registration: 0
default_comment_status: open
multisite: false
user_count: 11
dotorg_communication: true

### wp-active-theme ###

name: Storefront Child Theme (storefront-child)
version: 1.0.0
author_website: (undefined)
parent_theme: Storefront (storefront)
theme_features: post-thumbnails, automatic-feed-links, custom-logo, menus, html5, custom-background, custom-header, site-logo, title-tag, customize-selective-refresh-widgets, wp-block-styles, align-wide, editor-styles, editor-font-sizes, editor-style, responsive-embeds, woocommerce, wc-product-gallery-zoom, wc-product-gallery-lightbox, wc-product-gallery-slider, starter-content, widgets

### wp-parent-theme ###

name: Storefront (storefront)
version: 2.5.3
author: Automattic
author_website: https://woocommerce.com/

### wp-themes-inactive (1) ###

Twenty Twenty: version: 1.0, author: the WordPress team (latest version: 1.1)

### wp-plugins-active (10) ###

Autoptimize: version: 2.5.1, author: Frank Goossens (futtta) (latest version: 2.6.1)
Contact Form 7: version: 5.1.5, author: Takayuki Miyoshi (latest version: 5.1.6)
GDPR Cookie Consent: version: 1.8.2, author: WebToffee
TeraWallet: version: 1.3.11, author: WCBeginner
Tidio Chat: version: 4.2.1, author: Tidio Ltd.
WooCommerce: version: 3.8.0, author: Automattic (latest version: 3.8.1)
WooCommerce Admin: version: 0.22.0, author: WooCommerce (latest version: 0.24.0)
WooCommerce Stripe Gateway: version: 4.3.1, author: WooCommerce
YITH WooCommerce Social Login: version: 1.3.7, author: YITH (latest version: 1.3.9)
Yoast SEO: version: 12.5.1, author: Team Yoast (latest version: 12.8)

### wp-plugins-inactive (3) ###

All-in-One WP Migration: version: 7.10, author: ServMask (latest version: 7.14)
Order Delivery Date for WooCommerce (Lite version): version: 3.10, author: Tyche Softwares
Query Monitor: version: 3.4.0, author: John Blackbourn (latest version: 3.5.2)

### wp-media ###

image_editor: WP_Image_Editor_GD
imagick_module_version: Not available
imagemagick_version: Not available
gd_version: bundled (2.1.0 compatible)
ghostscript_version: unknown

### wp-server ###

server_architecture: Linux 2.6.32-754.14.2.el6.x86_64 x86_64
httpd_software: Apache
php_version: 7.0.33 64bit
php_sapi: cgi-fcgi
max_input_variables: 8000
time_limit: 30
memory_limit: 512M
max_input_time: 180
upload_max_size: 2M
php_post_max_size: 8M
curl_version: 7.67.0 OpenSSL/1.0.2t
suhosin: false
imagick_availability: false
htaccess_extra_rules: true

### wp-database ###

extension: mysqli
server_version: 10.3.21-MariaDB
client_version: mysqlnd 5.0.12-dev - 20150407 - $Id: b5c5906d452ec590732a93b051f3827e02749b83 $

### wp-constants ###

WP_HOME: undefined
WP_SITEURL: undefined
WP_MAX_MEMORY_LIMIT: 512M
WP_DEBUG: false
WP_DEBUG_DISPLAY: true
WP_DEBUG_LOG: false
SCRIPT_DEBUG: false
WP_CACHE: false
CONCATENATE_SCRIPTS: undefined
COMPRESS_SCRIPTS: undefined
COMPRESS_CSS: undefined
WP_LOCAL_DEV: undefined
DB_CHARSET: utf8mb4
DB_COLLATE: undefined

### wp-filesystem ###

wordpress: writable
wp-content: writable
uploads: writable
plugins: writable
themes: writable

1 Ответ

0 голосов
/ 25 февраля 2020

Ответ Джои (@ jricketts4) на форуме woocommerce :

Hi @ pirralhobat,

Мне потребовалась минута, чтобы набрать asp на то, что вы сообщали, но я наконец понял. То, что мы видим здесь, - это ожидаемое поведение, которое на самом деле не требует первых двух шагов, которые вы задокументировали со скриншотами.

Причина, по которой это происходит, состоит в комбинации трех настроек:

  • Разрешить клиентам создавать учетную запись на странице «Моя учетная запись»
  • При создании учетной записи автоматически создавать имя пользователя учетной записи для клиента на основе его имени, фамилии или адреса электронной почты
  • При создании учетная запись, автоматически сгенерируйте пароль учетной записи

Отключение только одного из следующих «исправит» проблему, которую вы не хотите видеть:

  • Разрешить клиентам создавать учетная запись на странице «Моя учетная запись»
  • При создании учетной записи автоматически сгенерируйте пароль учетной записи

Либо a) вы не будете позволять своим клиентам регистрироваться через мою учетную запись или b) вы не будете автоматически генерировать пароль во время этой регистрации (требуя, чтобы ваши клиенты вводили свои собственные пароль).

Если что-то из этого не имеет смысла, пожалуйста, дайте мне знать!

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

В итоге я отключил «При создании учетной записи автоматически генерировать пароль учетной записи» и добавил код для проверки электронной почты, чтобы пользователи, которые в прошлом пользовались веб-сайтом для совершения покупок, проходили проверку. В результате блокируется любой пользователь, который пытается создать учетную запись с электронными письмами, которые ранее использовались для совершения покупок.

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