为了账号安全,请及时绑定邮箱和手机立即绑定

检测用户何时更改其任何帐单明细(用户元数据)

检测用户何时更改其任何帐单明细(用户元数据)

PHP
尚方宝剑之说 2021-11-26 15:55:09
我有一个 Woocommerce 网站,我想检测用户是否更改了他们的任何帐单明细。我环顾四周,发现了这个片段:add_filter( 'insert_user_meta', function( $meta, $user, $update ) {  if( true !== $update ) return $meta;  $old_meta = get_user_meta( $user->ID );  if( $old_meta[ 'first_name' ] !== $meta[ 'first_name' ] ) {    //* Do something  }  return $meta;}, 10, 3 );每次对用户元进行更新时都会触发吗?如何添加以下所有字段以查看是否有任何更改:公司帐单地址行1帐单地址第 2 行城市邮政编码国家县或者,是否有一个 woocommerce 钩子?这样的东西会起作用吗?function my_profile_update( $user_id ) {    if ( ! isset( $_POST['pass1'] ) || '' == $_POST['pass1'] ) {        return;    }    // password changed...}add_action( 'profile_update', 'my_profile_update' );
查看完整描述

2 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

如果用户在前端的 woocommerce 我的帐户页面中编辑地址,则有一个可用于编辑地址的钩子,您可以通过它来检查和完成您的工作。钩子如下 -

do_action( 'woocommerce_customer_save_address', $user_id, $load_address );

其中,$load_address回报'billing'只要用户修改结算领域。


查看完整回答
反对 回复 2021-11-26
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

我想说的是,如果钩子有效,它会被所有 Wordpress 用户触发,而不仅仅是客户。

但我建议不要比较用户可以输入的数据。在你的情况下,如果他在他的名字中打错了字(比如大写的第一个字母),比较失败并且永远无法纠正。

您正在寻找的是帐户页面挂钩之一。但不幸的是,我只能指出一个方向。


查看完整回答
反对 回复 2021-11-26
  • 2 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信