BP_Email::set_post_object( WP_Post $post )
Set the Post object containing the email content template.
Description
Also sets the email’s subject, content, and template from the Post, for convenience.
Parameters
- $post
-
(WP_Post) (Required)
Return
(BP_Email)
Source
File: bp-core/classes/class-bp-email.php
public function set_post_object( WP_Post $post ) { /** * Filters the new value of the email's "post object" property. * * @since BuddyPress 2.5.0 * * @param WP_Post $post A Post. * @param BP_Email $this Current instance of the email type class. */ $this->post_object = apply_filters( 'bp_email_set_post_object', $post, $this ); if ( is_a( $this->post_object, 'WP_Post' ) ) { $this->set_subject( $this->post_object->post_title ) ->set_content_html( $this->post_object->post_content ) ->set_content_plaintext( $this->post_object->post_excerpt ); ob_start(); // Load the template. add_filter( 'bp_locate_template_and_load', '__return_true' ); bp_locate_template( bp_email_get_template( $this->post_object ), true, false ); remove_filter( 'bp_locate_template_and_load', '__return_true' ); $this->set_template( ob_get_contents() ); ob_end_clean(); } return $this; }
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.