在WooCommerce结账期间创建帐户时获取密码值


Get Password Value When Creating Account during WooCommerce Checkout

我正在连接到一个外部CRM API,在那里我试图为两个帐户使用相同的用户名和密码(客户在结账页面上注册时创建的)创建一个帐户。在使用Wordpress对用户密码进行哈希之前,是否可以获取用户密码?

我正在访问我从WooCommerce需要的所有其他用户订单信息,并通过API传递到CRM:

$order = new WC_Order($order_id);
$order->billing_first_name;
$order->billing_last_name;
...

我只需要暂时解开密码。我在此处查看了WC_Order文档:http://docs.woothemes.com/wc-apidocs/class-WC_Order.html没有看到一个好的答案。

需要明确的是,我不会将未哈希的密码发布到任何一个数据库。WP将对PW进行散列处理,并像往常一样存储它。我正在尝试通过Neon API使用相同的用户名和密码同时创建另一个帐户http://help.neoncrm.com/node/12.如果pw已经被WP散列了,我认为这是不可能的。

我用一个挂钩到的自定义WooCommerce插件解决了这个问题

'woocommerce_order_status_completed'  

此筛选器需要在签出阶段触发,因为我们在签出/帐户创建过程中通过$_POST访问密码字段。要触发此筛选器,需要使用以下筛选器将订单状态更新为已完成:

'woocommerce_payment_complete_order_status'  

您可以在此处查看完整的方法和筛选器:http://www.rcorreia.com/woocommerce/woocommerce-automatically-set-order-status-payment-received/

插件或主题中的过滤方法内部

'woocommerce_order_status_completed'

帐户密码可以通过以下操作传递到NeonApi:

$accountPassword = sanitize_text_field($_POST['account_password']);

然后传递带有密码的其他用户数据请求参数,如:

array( ... 'individualAccount.login.password' => $accountPassword);