Suppress the Guest Password-Set Email for a Specific Role
Core sends a single-use password-reset email whenever [benecaster_subscribe] creates a WordPress account for a logged-out visitor. In most cases that is exactly what you want — an account created that way has no password, so without it the subscriber can receive their feed but never log in to find it.
The escape hatch is for sites whose own onboarding already sends an account-setup email. Two set-password emails means two single-use reset links, and the later one invalidates the earlier, so whichever the subscriber opens first fails with an expired link.
This filter suppresses the send while leaving benecaster_subscribe_user_created free to fire for other listeners.
If you suppress this, you must provide a password path yourself — otherwise the subscriber is stranded with a working feed and no account access, and the symptom arrives later as a support request that looks unrelated to signup.
Code
<?php
add_filter(
'benecaster_subscribe_send_password_email',
function ( bool $should_send, int $user_id, int $show_id ): bool {
// Suppress the Benecaster email for members of "founding_supporter" —
// that role's onboarding is handled by our concierge plugin and a
// duplicate reset link would confuse subscribers.
$user = get_userdata( $user_id );
if ( $user && in_array( 'founding_supporter', (array) $user->roles, true ) ) {
return false;
}
return $should_send;
},
10,
3
);