新しいユーザーアクティベーションリンクをユーザーではなく自分の電子メールアドレスに送信するにはどうすればよいですか。切り替えに使用できる簡単な関数はありますか?
function bp_core_activation_signup_user_notification( $user, $user_email, $key, $meta ) {
$activate_url = bp_get_activation_page() . "?key=$key";
$activate_url = esc_url($activate_url);
$admin_email = get_site_option( 'admin_email' );
if ( empty( $admin_email ) )
$admin_email = 'support@' . $_SERVER['SERVER_NAME'];
// If this is an admin generated activation, add a param to email the
// user login details
$email = is_admin() ? '&e=1' : '';
$from_name = ( '' == get_site_option( 'site_name' ) ) ? 'WordPress' : esc_html( get_site_option( 'site_name' ) );
$message_headers = "MIME-Version: 1.0\n" . "From: \"{$from_name}\" <{$admin_email}>\n" . "Content-Type: text/plain; charset=\"" . get_option( 'blog_charset' ) . "\"\n";
$message = sprintf( __( "Thanks for registering! To complete the activation of your account please click the following link:\n\n%1\$s\n\n", 'buddypress' ), $activate_url . $email );
$subject = '[' . $from_name . '] ' . __( 'Activate Your Account', 'buddypress' );
// Send the message
$to = apply_filters( 'bp_core_activation_signup_user_notification_to', $user_email, $user, $user_email, $key, $meta );
$subject = apply_filters( 'bp_core_activation_signup_user_notification_subject', $subject, $user, $user_email, $key, $meta );
$message = apply_filters( 'bp_core_activation_signup_user_notification_message', $message, $user, $user_email, $key, $meta );
wp_mail( $to, $subject, $message, $message_headers );
do_action( 'bp_core_sent_user_signup_email', $admin_email, $subject, $message, $user, $user_email, $key, $meta );
// Return false to stop the original WPMU function from continuing
return false;
if(!is_admin()||(is_admin()&& empty($ _POST ['noconfirmation']))))add_filter( 'wpmu_signup_user_notification'、 'bp_core_activation_signup_user_notification'、1、4);
コードを読んで私はこのようなことを試してみます:
add_filter(
'bp_core_signup_send_validation_email_to',
'wpse_60858_catch_user_signup_mail'
);
function wpse_60858_catch_user_signup_mail()
{
// make sure to use a valid email. test it with different addresses
return get_site_option( 'admin_email', '[email protected]' );
}
これは$to
部分のみを変更します。