Hi there,
my bad. You’ll need an additional filter:
// Checkout data
add_filter( 'woocommerce_gzd_direct_debit_mandate_text_checkout_fields', 'my_child_register_mandate_shortcode', 10 );
function my_child_register_mandate_shortcode( $params ) {
$params['email'] = '#billing_email';
return $params;
}
// Register pay for order data
add_filter( 'woocommerce_gzd_direct_debit_mandate_checkout_placeholders', 'my_child_register_mandate_params', 10 );
function my_child_register_mandate_params( $params ) {
$order_key = isset( $_GET['order_key'] ) ? wc_clean( wp_unslash( $_GET['order_key'] ) ) : '';
if ( ! empty( $order_key ) ) {
$order_id = wc_get_order_id_by_order_key( $order_key );
if ( $order_id && ( $order = wc_get_order( $order_id ) ) ) {
if ( current_user_can( 'pay_for_order', $order_id ) ) {
$params['email'] = $order->get_billing_email();
}
}
}
return $params;
}
// Order data only (e.g. emails)
add_filter( 'woocommerce_gzd_direct_debit_mandate_order_placeholders', 'my_child_register_mandate_order_shortcode', 10, 2 );
function my_child_register_mandate_order_shortcode( $params, $order ) {
$params['email'] = $order->get_billing_email();
return $params;
}