woocommerce_form_field和隐藏字段

Seb*_*ien 3 forms hook add-filter woocommerce

我正在尝试向WooCommerce结帐添加自定义字段,似乎没有隐藏字段的输出.

woocommerce-template.php,隐藏字段属于此切换案例:

default :
    $field = apply_filters( 'woocommerce_form_field_' . $args['type'], '', $key, $args, $value  );
    break;
}
Run Code Online (Sandbox Code Playgroud)

我将如何添加一个woocommerce_form_field_hidden输出隐藏字段的动作.我尝试了多种不起作用的东西.最终,我无法弄清楚如何传递函数参数.

add_action('woocommerce_form_field_hidden', 'my_form_field_hidden');
if ( ! function_exists('my_form_field_hidden') ) {
    function hp_form_field_hidden() {

        $field = '<p class="form-row ' . implode( ' ', $args['class'] ) .'" id="' . $key . '_field">
            <input type="hidden" class="input-hidden" name="' . $key . '" id="' . $key . '" placeholder="' . $args['placeholder'] . '" value="'. $value.'" />
            </p>' . $after;

        return $field;
    }
}
Run Code Online (Sandbox Code Playgroud)

所有的帮助表示赞赏.

tor*_*ten 6

其实.add_filter函数的最后一个paramatert是函数的参数个数.

第三个是优先事项.

add_filter('woocommerce_form_field_hidden', 'wcds_form_field_hidden', 999, 4);

function wcds_form_field_hidden($no_parameter, $key, $args, $value) {

    $field = '<p class="form-row ' . implode( ' ', $args['class'] ) .'" id="' . $key . '_field">
        <input type="hidden" class="input-hidden" name="' . $key . '" id="' . $key . '" placeholder="' . $args['placeholder'] . '" value="'. $value.'" />
        </p>';

    return $field;
}
Run Code Online (Sandbox Code Playgroud)

这对我有用.