You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除WooBookings预订表单下拉框中的(XX Minutes)内容?

WooBookings移除时长下拉框的“(XX Minutes)”文本

问题场景

用WooBookings搭建预订系统,业务规则为1小时1个预订时段、最低预订2小时,需设置15分钟缓冲期。因缓冲期单位与时段类型绑定,只能将时段单位改为分钟(60分钟=1个时段),但前端下拉框内时长会显示“120分钟”“600分钟”这类格式,希望完全移除括号及其中的“XX Minutes”内容。已有一段移除资源选择框“(+$xx)”内容的代码,需通过类似正则替换实现需求。

实现代码

通过woocommerce_booking_form_fields钩子修改时长字段的选项文本,代码如下:

function remove_duration_minutes_label( $fields ) {
    if ( isset( $fields['wc_bookings_field_duration'] ) ) {
        // 精准匹配 "(数字 Minutes)" 格式的内容
        $pattern = '#\(\d+ Minutes\)#';
        foreach ( $fields['wc_bookings_field_duration']['options'] as $key => &$value ) {
            $fields['wc_bookings_field_duration']['options'][ $key ] = preg_replace( $pattern, '', $value );
        }
    }
    return $fields;
}
add_filter( 'woocommerce_booking_form_fields', 'remove_duration_minutes_label' );

代码说明

  • 钩子woocommerce_booking_form_fields是WooBookings提供的表单字段修改入口,可直接干预预订表单的字段内容
  • 正则表达式#\(\d+ Minutes\)#专门匹配括号内的分钟标识,避免误改其他文本内容
  • 将代码添加到主题的functions.php文件或自定义插件中即可生效

内容的提问来源于stack exchange,提问作者Danielcomben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 18:50:25