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
-
(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.