gpt4 book ai didi

php - 从 woocommerce 编辑帐户页面删除电子邮件

转载 作者:搜寻专家 更新时间:2023-10-31 21:04:04 26 4
gpt4 key购买 nike

我想从 woocommerce 编辑帐户页面中删除电子邮件字段,以防止用户更改他的电子邮件地址。

通过编辑 myaccount/form-edit-account.php 模板很容易删除前端部分。但它只是来自表格。

我也想从后端删除 if ,这样就没有人可以将带有电子邮件名称的文本框放入表单并更改电子邮件。

执行编辑过程的后端函数在这里

https://github.com/woothemes/woocommerce/blob/master/includes/class-wc-form-handler.php#L141

如您所见,没有过滤器或操作可以将电子邮件排除在处理之外。

如有任何帮助,我们将不胜感激。

解决方案(感谢@Reigel)

正如我所说,我已经从模板文件中删除了电子邮件字段,但恶意用户可以注入(inject)带有 account_email 的输入字段并更改电子邮件。我想要的是忽略已发布的电子邮件,如果有的话。

所以使用 woocommerce_save_account_details_errors 操作,可以做到这一点

类示例

add_action( 'woocommerce_save_account_details_errors', array( $this, 'remove_email_from_edit_account_process' ), 10,
2 );


public function remove_email_from_edit_account_process( $errors, $user ) {
if ( ! empty( $user->user_email ) ) {
unset($user->user_email);
}
}

最佳答案

使用 woocommerce_save_account_details_errors 操作给出无法更改电子邮件字段的错误消息...

关于php - 从 woocommerce 编辑帐户页面删除电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35596291/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com