我在WooCommerce结帐中收到模糊的错误消息,因为我删除了所有标签。有没有办法在使用PHP隐藏标签时显示正确的错误消息?或者有没有办法用CSS隐藏结帐标签,但不必隐藏所有标签,因为它们中的一些是相关的(条款和条件,时事通讯等)。
我们使用以下代码隐藏标签:
// Fjern labels fra checkout
add_filter('woocommerce_checkout_fields','custom_wc_checkout_fields_no_label');
// Our hooked in function - $fields is passed via the filter!
// Action: remove label from $fields
function custom_wc_checkout_fields_no_label($fields) {
// loop by category
foreach ($fields as $category => $value) {
// loop by fields
foreach ($fields[$category] as $field => $property) {
// remove label property
unset($fields[$category][$field]['label']);
}
}
return $fields;
}
也可以使用CSS
答案 0 :(得分:1)
[Update 1] - 添加了一些有关如何生成错误的信息。
[更新2] - 解释了如何为WooCommerce激活特定的语言区域设置
[更新3] - 在原始问题被修改时添加了CSS规则。
错误是在validate_posted_data
的{{1}}函数内生成的。
您在错误中看到的class-wc-checkout.php
,例如" 中的名字是一个必填字段。" 是事实上Field names
。因此,如果您的结帐字段'数组不会为任何字段设置labels
属性,而不会获得正确的完整错误。
在当前情况下,我假设您已移除['label']
属性以隐藏前端的标签,并且只显示['label']
。如果你想在前端隐藏标签,请使用CSS样式。
['placeholders']
此规则仅适用于Billing& amp;运输字段标签。
我正在使用HTML5Boilerplate的.visuallyhidden
utility class中的代码。这是以最直观的方式隐藏内容,但不是屏幕阅读器或其他辅助技术。
localize WooCommerce的最佳方法不是过滤输出并将英文文本替换为您的语言。对于Wordpress和WooCommerce
,丹麦语似乎接近100%如果您选择安装语言为丹麦语,则不应要求您像现在一样添加丹麦语占位符。
按照此链接中的步骤为WooCommerce进行丹麦语本地化:https://docs.woocommerce.com/document/woocommerce-localization/#section-4
答案 1 :(得分:1)
相反,您可以尝试使用特定的CSS规则来隐藏结算<label>
代码:
.woocommerce-billing-fields label{
display:none;
}
这适用于您的活动子主题(或活动主题)的styles.css文件......
它应该工作。这样您就会收到正确的错误消息。