我有一个 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'
只要用户修改结算领域。
慕哥9229398
TA贡献1877条经验 获得超6个赞
我想说的是,如果钩子有效,它会被所有 Wordpress 用户触发,而不仅仅是客户。
但我建议不要比较用户可以输入的数据。在你的情况下,如果他在他的名字中打错了字(比如大写的第一个字母),比较失败并且永远无法纠正。
您正在寻找的是帐户页面挂钩之一。但不幸的是,我只能指出一个方向。
- 2 回答
- 0 关注
- 135 浏览
添加回答
举报
0/150
提交
取消