M.D*_*M.D 1 php wordpress woocommerce
我试图从 woocommerce 的 form-edit-account.php 中删除 firstname 、 lastname 和 email 字段,但是当我提交表单时,我从 woocommerce 表单验证中遇到了一些错误!如何删除此字段的验证?我搜索了很多并检查了 woocommerce hooks 文档,但我找不到有关 form-edit-account.php 表单验证的任何信息,而且所有这些都与结帐字段有关
https://docs.woocommerce.com/wc-apidocs/hook-docs.html https://docs.woocommerce.com/document/introduction-to-hooks-actions-and-filters/ https://wpthememakeover.com /2016/07/21/how-to-remove-form-fields-in-woocommerce-account-page/
我刚刚自己做了这件事,它就像一个魅力。我知道你的帖子已经一年多了,但我希望它至少能帮助其他人,因为有很多反对者告诉我这是不可能的。花了我 2 个小时的反复试验(无论如何我都不是专家),这里是......
在您的子主题的functions.php 文件中,添加此代码...
//Remove required field requirement for first/last name in My Account Edit form
add_filter('woocommerce_save_account_details_required_fields', 'remove_required_fields');
function remove_required_fields( $required_fields ) {
unset($required_fields['account_first_name']);
unset($required_fields['account_last_name']);
return $required_fields;
}
Run Code Online (Sandbox Code Playgroud)
现在这只是删除了用户填写姓氏和名字字段的要求,它并没有从表单中删除实际字段本身,但是即使名字和姓氏字段,现在也可以提交表单留空。
要从表单中删除这两个字段,请转到/wp-content/plugins/woocommerce/templates/myaccount/includes/并将 form-edit-account.php 文件下载到您的桌面。
打开文件并注释掉或删除以下代码块(应该是第 26 行到第 33 行,但不要仅依赖于行 #s)...
<p class="woocommerce-form-row woocommerce-form-row--first form-row form-row-first">
<label for="account_first_name"><?php esc_html_e( 'First name', 'woocommerce' ); ?> <span class="required">*</span></label>
<input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="account_first_name" id="account_first_name" autocomplete="given-name" value="<?php echo esc_attr( $user->first_name ); ?>" />
</p>
<p class="woocommerce-form-row woocommerce-form-row--last form-row form-row-last">
<label for="account_last_name"><?php esc_html_e( 'Last name', 'woocommerce' ); ?> <span class="required">*</span></label>
<input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="account_last_name" id="account_last_name" autocomplete="family-name" value="<?php echo esc_attr( $user->last_name ); ?>" />
</p>
Run Code Online (Sandbox Code Playgroud)
然后将该文件上传到您子主题下的以下文件夹...
/wp-content/themes/你的孩子主题文件夹/woocommerce/myaccount/
一切顺利!
您没有将文件上传到/wp-content/themes/YOUR CHILD THEME FOLDER/woocommerce/templates/myaccount/includes/以匹配插件子文件夹。您必须使用如上所述的子文件夹字符串。这就是它必须的方式,它在文件注释中说得很好:) 如果您将其上传到子文件夹以匹配原始文件所在的插件子文件夹,则它根本无法工作。
| 归档时间: |
|
| 查看次数: |
10917 次 |
| 最近记录: |