diff --git src/bp-core/bp-core-filters.php src/bp-core/bp-core-filters.php
index 5844743ff..b2645961c 100644
|
|
|
add_filter( 'bp_email_get_headers', 'bp_email_set_default_headers', 6, 4 ); |
| 1035 | 1035 | */ |
| 1036 | 1036 | function bp_email_set_default_tokens( $tokens, $property_name, $transform, $email ) { |
| 1037 | 1037 | $tokens['site.admin-email'] = bp_get_option( 'admin_email' ); |
| 1038 | | $tokens['site.url'] = home_url(); |
| | 1038 | $tokens['site.url'] = bp_get_root_domain(); |
| 1039 | 1039 | $tokens['email.subject'] = $email->get_subject(); |
| 1040 | 1040 | |
| 1041 | 1041 | // These options are escaped with esc_html on the way into the database in sanitize_option(). |
| … |
… |
function bp_email_set_default_tokens( $tokens, $property_name, $transform, $emai |
| 1080 | 1080 | } |
| 1081 | 1081 | |
| 1082 | 1082 | // Email preheader. |
| 1083 | | $post = $email->get_post_object(); |
| 1084 | | if ( $post ) { |
| 1085 | | $tokens['email.preheader'] = sanitize_text_field( get_post_meta( $post->ID, 'bp_email_preheader', true ) ); |
| | 1083 | $preheader = $email->get_preheader(); |
| | 1084 | if ( $preheader ) { |
| | 1085 | $tokens['email.preheader'] = $preheader; |
| 1086 | 1086 | } |
| 1087 | 1087 | |
| 1088 | 1088 | return $tokens; |
diff --git src/bp-core/classes/class-bp-email.php src/bp-core/classes/class-bp-email.php
index 19c22c60e..9112bc8c0 100644
|
|
|
class BP_Email { |
| 69 | 69 | */ |
| 70 | 70 | protected $from = null; |
| 71 | 71 | |
| | 72 | /** |
| | 73 | * Email preheader. |
| | 74 | * |
| | 75 | * @since 4.0.0 |
| | 76 | * |
| | 77 | * @var string |
| | 78 | */ |
| | 79 | protected $preheader = null; |
| | 80 | |
| 72 | 81 | /** |
| 73 | 82 | * Email headers. |
| 74 | 83 | * |
| … |
… |
class BP_Email { |
| 272 | 281 | return apply_filters( 'bp_email_get_property', $retval, $property_name, $transform, $this ); |
| 273 | 282 | } |
| 274 | 283 | |
| | 284 | /** |
| | 285 | * Get email preheader. |
| | 286 | * |
| | 287 | * @since 4.0.0 |
| | 288 | */ |
| | 289 | public function get_preheader() { |
| | 290 | if ( null !== $this->preheader ) { |
| | 291 | return $this->preheader; |
| | 292 | } |
| | 293 | |
| | 294 | $preheader = ''; |
| | 295 | |
| | 296 | $post = $this->get_post_object(); |
| | 297 | if ( $post ) { |
| | 298 | $switched = false; |
| | 299 | |
| | 300 | // Switch to the root blog, where the email post lives. |
| | 301 | if ( ! bp_is_root_blog() ) { |
| | 302 | switch_to_blog( bp_get_root_blog_id() ); |
| | 303 | $switched = true; |
| | 304 | } |
| | 305 | |
| | 306 | $preheader = sanitize_text_field( get_post_meta( $post->ID, 'bp_email_preheader', true ) ); |
| | 307 | |
| | 308 | if ( $switched ) { |
| | 309 | restore_current_blog(); |
| | 310 | } |
| | 311 | } |
| | 312 | |
| | 313 | $this->preheader = $preheader; |
| | 314 | |
| | 315 | return $this->preheader; |
| | 316 | } |
| | 317 | |
| 275 | 318 | /** |
| 276 | 319 | * Get email headers. |
| 277 | 320 | * |