bp_email_set_default_tokens( array $tokens, string $property_name, string $transform, BP_Email $email )
Add default email tokens.
Description
Parameters
- $tokens
-
(Required) Email tokens.
- $property_name
-
(Required) Unused.
- $transform
-
(Required) Unused.
-
(Required) Email being sent.
Return
(array)
Source
File: bp-core/bp-core-filters.php
function bp_email_set_default_tokens( $tokens, $property_name, $transform, $email ) { $tokens['site.admin-email'] = bp_get_option( 'admin_email' ); $tokens['site.url'] = home_url(); $tokens['email.subject'] = $email->get_subject(); // These options are escaped with esc_html on the way into the database in sanitize_option(). $tokens['site.description'] = wp_specialchars_decode( bp_get_option( 'blogdescription' ), ENT_QUOTES ); $tokens['site.name'] = wp_specialchars_decode( bp_get_option( 'blogname' ), ENT_QUOTES ); // Default values for tokens set conditionally below. $tokens['email.preheader'] = ''; $tokens['recipient.email'] = ''; $tokens['recipient.name'] = ''; $tokens['recipient.avatar'] = ''; $tokens['recipient.username'] = ''; // Who is the email going to? $recipient = $email->get( 'to' ); if ( $recipient ) { $recipient = array_shift( $recipient ); $user_obj = $recipient->get_user( 'search-email' ); $tokens['recipient.email'] = $recipient->get_address(); $tokens['recipient.name'] = $recipient->get_name(); $tokens['recipient.avatar'] = $recipient->get_avatar(); if ( ! $user_obj && $tokens['recipient.email'] ) { $user_obj = get_user_by( 'email', $tokens['recipient.email'] ); } if ( $user_obj ) { $tokens['recipient.username'] = $user_obj->user_login; if ( bp_is_active( 'settings' ) && empty( $tokens['unsubscribe'] ) ) { $tokens['unsubscribe'] = esc_url( sprintf( '%s%s/notifications/', bp_core_get_user_domain( $user_obj->ID ), bp_get_settings_slug() ) ); } } } // Set default unsubscribe link if not passed. if ( empty( $tokens['unsubscribe'] ) ) { $tokens['unsubscribe'] = wp_login_url(); } // Email preheader. $post = $email->get_post_object(); if ( $post ) { $tokens['email.preheader'] = sanitize_text_field( get_post_meta( $post->ID, 'bp_email_preheader', true ) ); } return $tokens; }
Changelog
Version | Description |
---|---|
BuddyPress 2.5.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.