我正在使用 WooCommerce 预订,当客户未选择强制预订日期时,对于可预订产品,会显示 “需要日期 - 请在上面选择一个” WooCommerce 单一产品页面上的错误通知。
下面,我尝试创建一个更改(或翻译)此字符串的函数,但仅当可预订产品属于特定产品类别时:
add_filter( 'gettext', 'ead2_translate_woocommerce_strings', 999, 3 );
function ead2_translate_woocommerce_strings( $translated, $untranslated, $domain ) {
if ( is_product() && has_term( 'Teaterkurser', 'product_cat' ) ) {
switch ( $untranslated ) {
case 'Date is required - please choose one above':
$translated = 'Datum väljs - vänta lite...';
break;
}
}
return $translated;
}
该功能不起作用:有些不对劲,我不知道它是什么。
我找到了一个有效的解决方案,使用另一个钩子(而不是 gettext)。
`add_filter('woocommerce_bookings_calculated_booking_cost_error_output', 'modify_booking_cost_error_outout', 999, 3); 函数modify_booking_cost_error_outout($消息,$成本,$产品){ $error_message = $cost->get_error_message(); if ($error_message == '日期为必填项 - 请在上面选择一个' && has_term( 'Teaterkurser', 'product_cat', $product->get_id() )) { $message = '数据 väljs - vänta lite...'; }
return $message;
}`