我正在连接到外部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创建另一个帐户。如果WP已经对WP进行了哈希处理,我不相信这是可行的。
答案 0 :(得分:1)
我通过挂钩
的自定义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'
帐户密码可以通过以下方式传递给Neon api:
$accountPassword = sanitize_text_field($_POST['account_password']);
然后使用密码传递其他用户数据请求参数,如:
array( ... 'individualAccount.login.password' => $accountPassword);